19-08-18, 03:51 AM
السلام عليكم ورحمة وبركاته
الموضوع اتعبني بشدة
هو عمل دمج مرسلات mail merge من الفيجوال بيسك إلى word بحيث تنقل بيانات مجموعة من الطلاب من الداتا قريدفيو وتكون بيانات كل طالب موجودة في صفحة مستقلة علما بأن هناك قالب جاهز موجود [b]في الوورد ( Temp file ) [/b]
واستخدمت ال book mark ونجحت معي الطريقة بنقل بيانات أول طالب فقط لكن للأسف لم أستطع أن أجعله يكمل نقل بقية الطلاب الآخرين ( طبعا تجري عملية الدمج داخل ملف واحد به أكثر من صفحة )
باختصار عملي شبيه بدمج المرسلات في الوورد ولكن أريد عمله عن طريق الفيجوال
وقد استخدمت الكود التالي
الموضوع اتعبني بشدة
هو عمل دمج مرسلات mail merge من الفيجوال بيسك إلى word بحيث تنقل بيانات مجموعة من الطلاب من الداتا قريدفيو وتكون بيانات كل طالب موجودة في صفحة مستقلة علما بأن هناك قالب جاهز موجود [b]في الوورد ( Temp file ) [/b]
واستخدمت ال book mark ونجحت معي الطريقة بنقل بيانات أول طالب فقط لكن للأسف لم أستطع أن أجعله يكمل نقل بقية الطلاب الآخرين ( طبعا تجري عملية الدمج داخل ملف واحد به أكثر من صفحة )
باختصار عملي شبيه بدمج المرسلات في الوورد ولكن أريد عمله عن طريق الفيجوال
وقد استخدمت الكود التالي
Private Sub Button6
_Click(sender As Object, e As EventArgs) Handles Button6.Click
Dim Filename As String = "D:\visual3\test.dotx"
Dim myapp1 As New Object
Dim mydoc1 As New Object
myapp1 = CreateObject("Word.Application")
mydoc1 = myapp1.documents.open(Filename)
Dim bk As Bookmarks = mydoc1.Bookmarks
Dim last As Integer = DataGridView1.Rows.Count - 1
Dim m As Integer =0
mydoc1 = myapp1.Documents.Open(Filename)
'objWordDotx.tables.add(objWordDotx.range(0, 0), DataGridView1.Rows.Count, 3)
Do
bk("name").Range.Text = Me.DataGridView1.Rows(m).Cells("ar_name").Value
bk("idnum").Range.Text = Me.DataGridView1.Rows(m).Cells("idnum").Value
bk("code").Range.Text = Me.DataGridView1.Rows(m).Cells("idNumber").Value
m = m + 1
Loop Until m = last
myapp1.visible = True