الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مساعدة فى تعديل على كود تصدير لword

بدأه سلمى محمد في 20 مايو 2012 · 3 رد · 470 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

انا جبت الكود دة من موقع اجنبى بس مش عارفه فيه مشكلة المفروض ان الكود دة بيطبع محتويات الليست فيو على word

dim objword as word.application
dim odoc as document
dim otable as word.range
dim i as integer
dim j as integer
set objword = createobject("word.application")
set odoc = objword.documents.add
' get the current document's range object
set otable = odoc.range
for i = 1 to list1.columnheaders.count
otable.rows(1).cells(i).range.text = list1.columnheaders(i)
next

for i = 1 to list1.listitems.count
otable.columns(1).cells(i).range.text = list1.listitems(i).text
for j = 2 to list1.columnheaders.count
otable.rows(i + 2).cells(j).range.text = list1.listitems(i).subitems(j - 1)
next
next

dim stemp as string
' insert a heading on the string
stemp = "customer id" & vbtab & "company name" & _
vbtab & "contact name" & vbcrlf & stemp
' insert the data into the word document
otable.text = stemp
' convert the text to a table and format the table
otable.converttotable vbtab, , , , wdtableformatcolorful2
' show word to the user
objword.visible = true
set objword = nothing
set odoc = nothing
set otable = nothing

ياريت حد يقدر يعدل على الكود

#2

السلام عليكم...

الكود بعد التعديل:

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 = "Customer ID" & vbTab & "Company Name" & vbTab & "Contact Name"
    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, , , , wdtableformatcolorful2
    objWord.Visible = True

    Set objWord = Nothing
    Set oDoc = Nothing
    Set oTable = Nothing
End Sub

طبعاً يجب أن يتضمن المشروع إشارة إلى مكتبة Word و ذلك باختيار الأمر References من القائمة Project ثم البحث عن البند Microsoft Office x.x Object Library و اختياره (حيث x.x رقم نسخة Word لديك).

نرجو الاستفادة و السلام.

وَ قُلِ اعْمَلُوا فَسَيَرَى اللهُ عَمَلَكُمْ وَ رَسُولُهُ وَ الْمُؤْمِنُونَ

صدق الله العظيم

#3

شكرا ليك ازاى اقدر اغير شكل الجدول

#4

السلام عليكم...

يمكنك الاختيار من أحد التنسيقات الجاهزة للجداول و ذلك بتغيير قيمة البارامتر الأخير للوظيفة ConvertToTable فبدلاً من القيمة wdtableformatcolorful2 يمكنك اختيار قيم أخرى. لتقومي بذلك اكتبي wdtableformat ثم نقطة فتظهر لك قائمة بالتنسيقات الممكنة. اختاري واحداً منها. مثلاً:

oTable.ConvertToTable vbTab, , , , WdTableFormat.wdTableFormatElegant

* في الواقع إن البارامتر الأخير في الجملة السابقة ليس آخر بارامتر للوظيفة ConvertToTable ، فمثلاً لكي يظهر الجدول بشكله العادي تكون الصيغة كالتالي:

oTable.ConvertToTable vbTab, , , , , , , , , , , , , , , True

نرجو الاستفادة و السلام.

وَ قُلِ اعْمَلُوا فَسَيَرَى اللهُ عَمَلَكُمْ وَ رَسُولُهُ وَ الْمُؤْمِنُونَ

صدق الله العظيم

مواضيع مشابهة