تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
تصدير بيانات إلى ملف Word
#1
السلام عليكم...

يمكننا تصدير بيانات من برنامجنا إلى ملف Word و ذلك باستخدام مكتبة Microsoft Word Object Library و الاطلاع على تعليمات Word لمعرفة كيفية استخدام الكائنات و الوظائف في تلك المكتبة.

المثال التالي يبين كيفية تصدير بيانات ListView إلى ملف Word في شكل جدول.

1. من القائمة Project انقر الأمر References.
2. في نافذة الـ References ابحث عن البند Microsoft Word x.x Object Library و قم بتحديده - أي إظهار إشارة صح بجانبه ثم انقر OK (الرمز x.x هو رقم نسخة Word و قد تختلف من جهاز إلى جهاز حسب نسخة Word المركبة).
3. أضف إلى النافذة مكون ListView (تحتاج إلى إضافة Windows Common Controls) و قم بإعداد أعمدته و بنوده حسب ما لديك.
4. أضف زر أمر لتصدير البيانات. في كود هذا الزر اكتب ما يلي:

كود :
Private Sub Command1_Click()
    Dim objWord As Word.Application
    Dim oDoc As Word.Document
    Dim oTable As Word.Range
    
    Dim i As Integer
    Dim j As Integer
    Dim sTemp As String
    
    Set objWord = CreateObject("word.application")    ' إنشاء نسخة من برنامج وورد
    Set oDoc = objWord.Documents.Add    ' إنشاء مستند جديد
    Set oTable = oDoc.Range    ' إنشاء نطاق نصي في المستند
    
    ' إعداد عناوين الأعمدة
    sTemp = ListView1.ColumnHeaders(1).Text
    For j = 2 To ListView1.ColumnHeaders.Count
        sTemp = sTemp & vbTab & ListView1.ColumnHeaders(j).Text
    Next
    
    ' إعداد البيانات
    ' لاحظ أن خلايا الصف الواحد مفصولة بالمفتاح تاب، و الصفوف مفصولة بالمفتاح إنتر
    For i = 1 To ListView1.ListItems.Count
        sTemp = sTemp & vbCrLf & ListView1.ListItems(i).Text
        For j = 2 To ListView1.ColumnHeaders.Count
            sTemp = sTemp & vbTab & ListView1.ListItems(i).SubItems(j - 1)
        Next
    Next
    
    oTable.Text = sTemp    ' إرسال البيانات إلى وورد كنص
    
    ' تحويل نص النطاق إلى جدول
    oTable.ConvertToTable vbTab, , , , WdTableFormat.wdTableFormatElegant   ' Formatted table
'    oTable.ConvertToTable vbTab, , , , , , , , , , , , , , , True           ' Ordinary table
'    oTable.ConvertToTable vbTab                                             ' No borders
    
    ' إظهار برنامج وورد - قد لا يظهر في مقدمة الشاشة لكنك تجده في شريط المهام
    objWord.Visible = True
    
    ' تنظيف الذاكرة
    Set objWord = Nothing
    Set oDoc = Nothing
    Set oTable = Nothing
End Sub

* عند تشغيل الكود السابق و النقر على الزر سيتم تشغيل برنامج Word و إظهاره محتوياً على البيانات المصدرة. يمكن للمستخدم حينها حفظ المستند أو إغلاقه دون حفظ.

* إذا أردنا تصدير البيانات و حفظ الملف دون تدخل المستخدم فلا داعي لإظهار Word، و عليه فإننا بدل السطر: objWord.Visible = True نكتب السطرين التاليين:

كود :
oDoc.SaveAs2 "C:\Users\user1\Desktop\MyFile.docx"    ' حفظ الملف مع تحديد مسار و اسم الملف
objWord.Quit    ' إغلاق وورد

نرجو الاستفادة و السلام.
بِسْمِ اللهِ الرَّحْمَنِ الرَّحِيمِ ( وَ مَا تُقَدِّمُوا لِأَنفُسِكُم مِّنْ خَيْرٍ تَجِدُوهُ عِندَ اللهِ هُوَ خَيْراً وَ أَعْظَمَ أَجْراً ) صَدَقَ اللهُ الْعَظِيمُ
الرد }}}}
تم الشكر بواسطة: الاصيله , ربيع
#2
الا خ ناجي إبراهيم
مشكور على هذا الطرح
ولكن لو ارفقت المشروع لكان افضل
حيث تظهر لى رسالة خطأ
الرد }}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  تغيير باسورد قاعدة بيانات الأكسس بالكود Ahmed_Mansoor 2 324 26-03-16, 03:58 PM
آخر رد: rohaem

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم