-->

تقنية ، إنترنت ، برامج ، إسلامية ، إقتصادية ، إجتماعية ، تعليمية ، رياضية

سُبْحَانَ اللَّهِ وَبِحَمْدِهِ ... سُبْحَانَ اللَّهِ العَظَيم

الثلاثاء، 8 نوفمبر 2016

تصدير بيانات من برنامجنا إلى ملف Word ( برنامج بالفيجول بيسك أو بالأكسس)


 
يمكننا تصدير بيانات من برنامجنا إلى ملف 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    ' إغلاق وورد
 
جزى الله خيرا كل من ساهم فيه

المصدر : فيجول بيسك لكل العرب 
 

ليست هناك تعليقات:

إرسال تعليق