10-10-12, 07:42 PM
نكمل الموضوع واليوم نتحدث عن التعامل مع الجدول داخل الوورد
في البداية نقوم بصناعة التمبلت بالوورد
ونضيف له الجدول بدون اشارة مرجعية للحقول لاننا راح نتعامع مع الحقول وارقامها
[ATTACH=CONFIG]837[/ATTACH]
ومن ثم نضيف داتا قريد بالفيجوال ونقوم بتعبئتها كما في الصورة
[ATTACH=CONFIG]836[/ATTACH]
الان نظيف الكود التالي وهو الكود السابق مضاف اليه كود التعامل مع الجدول
راح تكون النتيجة
[ATTACH=CONFIG]838[/ATTACH]
-------------------------
وهذا رابط المشروع بالفيجوال 2010
[ATTACH]839[/ATTACH]
اتمنى للجميع التوفيق
اخوكم عبدالله الشمري
في البداية نقوم بصناعة التمبلت بالوورد
ونضيف له الجدول بدون اشارة مرجعية للحقول لاننا راح نتعامع مع الحقول وارقامها
[ATTACH=CONFIG]837[/ATTACH]
ومن ثم نضيف داتا قريد بالفيجوال ونقوم بتعبئتها كما في الصورة
[ATTACH=CONFIG]836[/ATTACH]
الان نظيف الكود التالي وهو الكود السابق مضاف اليه كود التعامل مع الجدول
كود :
Dim aplication As New Microsoft.Office.Interop.Word.Application 'لتعامل مع ملف الوورد
Dim appDoc As New Microsoft.Office.Interop.Word.Document 'لفتح ملف الوورد
appDoc = aplication.Documents.Add(Template:=(Application.StartupPath & "\word\نموذج.dot")) ' هذا الامر لفتح ملف نموذج كقالب تمبلت وهذا مهم
'========
'لو كان الامر فتح ملف وورد فالوضع مختلف :رايح يكون الامر كتالي ولكن بدون تفعيل الامر
'appDoc = app.Documents.Open(Application.StartupPath & "\word\نموذج.doc")
'=======
'للتعامل مع الملف الوورد
aplication.ActiveDocument.Bookmarks("s1").Select() ' ابحث لي عن الاشارة المرجعية وضع المؤشر امامها
aplication.Selection.Text = TextBox1.Text
aplication.ActiveDocument.Bookmarks("s2").Select() ' ابحث لي عن الاشارة الاخر المرجعية وضع المؤشر امامها
aplication.Selection.Text = TextBox2.Text
'الاشارة المرجعية بالانجليزي بوك ماركس كما هو في الاعلى
'================التعامل مع الجدول
Dim nnsss As Integer = DataGridView1.RowCount ' هنا لعدد الصفوف في الداتا قريد
For ta1 As Integer = 2 To nnsss ' لاحظ اننا بدئنا بالرقم 2 لاننا راح نتعامل مع الصف الثاني بالجدول
aplication.Application.ActiveDocument.Tables.Item(1).Cell(ta1, 2).Select() ' هنا اخبرنا البرنامج بالذهاب ألى الجدول الأول الصف الثاني فما بعد العمود الثاني الأسم
aplication.Selection.Text = DataGridView1.Rows(ta1 - 2).Cells(1).Value ' هنا اخذنا سالب 2 حتى نبدا من الصفر
aplication.Application.ActiveDocument.Tables.Item(1).Cell(ta1, 3).Select() ' العود الثالث الدولة
aplication.Selection.Text = DataGridView1.Rows(ta1 - 2).Cells(1).Value
aplication.Application.ActiveDocument.Tables.Item(1).Cell(ta1, 4).Select() ' العود الرابع
aplication.Selection.Text = DataGridView1.Rows(ta1 - 2).Cells(2).Value
If ta1 <> nnsss Then ' هنا اذا كان الرقم لايساوي عدد الدتا قريد
aplication.Application.ActiveDocument.Tables.Item(1).Rows.Add() ' اضف صف جديد
End If
Next
'=====================
'الان بقي اظهار الملف لانه حتى الان يعمل بالخفى وتسطيع اظهاره بعد فتح الملف
aplication.Visible = True
aplication.Activate()راح تكون النتيجة
[ATTACH=CONFIG]838[/ATTACH]
-------------------------
وهذا رابط المشروع بالفيجوال 2010
[ATTACH]839[/ATTACH]
اتمنى للجميع التوفيق
اخوكم عبدالله الشمري

