วิธีการทำให้ Microsoft Word โดยใช้ Visual Basic เพื่อสร้างเอกสารใหม่

การแปลบทความ การแปลบทความ
หมายเลขบทความ (Article ID): 313193 - ผลิตภัณฑ์ที่เกี่ยวข้องในบทความนี้
ขยายทั้งหมด | ยุบทั้งหมด

สรุป

บทความที่มีการทีละขั้นตอนนี้อธิบายวิธีการสร้างเอกสารใหม่ใน Word โดยใช้การทำงานอัตโนมัติจาก Visual Basic

ตัวอย่างรหัส

ตัวอย่างรหัสในบทความนี้อธิบายวิธีการดังต่อไปนี้:
  • แทรกย่อหน้า ด้วยข้อความและการจัดรูปแบบ
  • เรียกดู และแก้ไขช่วงต่าง ๆ ภายในเอกสาร
  • แทรกตาราง การจัดรูปแบบตาราง และเติมข้อมูลตารางข้อมูล
  • เพิ่มแผนภูมิ
เมื่อต้องการสร้างเอกสาร Word ใหม่ โดยใช้การทำงานอัตโนมัติจาก Visual Basic ดำเนินการดังต่อไปนี้:
  1. ใน Visual Basic สร้างโครงการ EXE มาตรฐานใหม่ Form1 จะถูกสร้างขึ้นตามค่าเริ่มต้น
  2. ในการProjectเมนู คลิกอ้างอิง:คลิกตัวเลือกต่อไปนี้อย่างใดอย่างหนึ่ง และจากนั้น คลิกตกลง:
    • สำหรับ Office Word 2007 คลิกMicrosoft Word ไลบรา 12.0 วัตถุ.
    • สำหรับ Word 2003 คลิกMicrosoft Word ไลบรา 11.0 วัตถุ.
    • สำหรับ Word 2002 คลิกMicrosoft Word 10.0 การไลบรารีวัตถุ.
    • สำหรับ Word 2000 คลิกMicrosoft Word 9.0 การไลบรารีวัตถุ.
  3. เพิ่มตัวควบคุม CommandButton Form1
  4. เพิ่มรหัสต่อไปนี้ให้คลิกเหตุการณ์สำหรับ Command1:
        Dim oWord As Word.Application
        Dim oDoc As Word.Document
        Dim oTable As Word.Table
        Dim oPara1 As Word.Paragraph, oPara2 As Word.Paragraph
        Dim oPara3 As Word.Paragraph, oPara4 As Word.Paragraph
        Dim oRng As Word.Range
        Dim oShape As Word.InlineShape
        Dim oChart As Object
        Dim Pos as Double
    
        'Start Word and open the document template.
        Set oWord = CreateObject("Word.Application")
        oWord.Visible = True
        Set oDoc = oWord.Documents.Add
        
        'Insert a paragraph at the beginning of the document.
        Set oPara1 = oDoc.Content.Paragraphs.Add
        oPara1.Range.Text = "Heading 1"
        oPara1.Range.Font.Bold = True
        oPara1.Format.SpaceAfter = 24    '24 pt spacing after paragraph.
        oPara1.Range.InsertParagraphAfter
        
        'Insert a paragraph at the end of the document.
        '** \endofdoc is a predefined bookmark.
        Set oPara2 = oDoc.Content.Paragraphs.Add(oDoc.Bookmarks("\endofdoc").Range)
        oPara2.Range.Text = "Heading 2"
        oPara2.Format.SpaceAfter = 6
        oPara2.Range.InsertParagraphAfter
        
        'Insert another paragraph.
        Set oPara3 = oDoc.Content.Paragraphs.Add(oDoc.Bookmarks("\endofdoc").Range)
        oPara3.Range.Text = "This is a sentence of normal text. Now here is a table:"
        oPara3.Range.Font.Bold = False
        oPara3.Format.SpaceAfter = 24
        oPara3.Range.InsertParagraphAfter
        
        'Insert a 3 x 5 table, fill it with data and make the first row
        'bold,italic.
        Dim r As Integer, c As Integer
        Set oTable = oDoc.Tables.Add(oDoc.Bookmarks("\endofdoc").Range, 3, 5)
        oTable.Range.ParagraphFormat.SpaceAfter = 6
        For r = 1 To 3
            For c = 1 To 5
                oTable.Cell(r, c).Range.Text = "r" & r & "c" & c
            Next
        Next
        oTable.Rows(1).Range.Font.Bold = True
        oTable.Rows(1).Range.Font.Italic = True
        
        'Add some text after the table.
        'oTable.Range.InsertParagraphAfter
        Set oPara4 = oDoc.Content.Paragraphs.Add(oDoc.Bookmarks("\endofdoc").Range)
        oPara4.Range.InsertParagraphBefore
        oPara4.Range.Text = "And here's another table:"
        oPara4.Format.SpaceAfter = 24
        oPara4.Range.InsertParagraphAfter
        
        'Insert a 5 x 2 table, fill it with data and change the column widths.
        Set oTable = oDoc.Tables.Add(oDoc.Bookmarks("\endofdoc").Range, 5, 2)
        oTable.Range.ParagraphFormat.SpaceAfter = 6
        For r = 1 To 5
            For c = 1 To 2
                oTable.Cell(r, c).Range.Text = "r" & r & "c" & c
            Next
        Next
        oTable.Columns(1).Width = oWord.InchesToPoints(2)   'Change width of columns 1 & 2.
        oTable.Columns(2).Width = oWord.InchesToPoints(3)
        
        'Keep inserting text. When you get to 7 inches from top of the
        'document, insert a hard page break.
        Pos = oWord.InchesToPoints(7)
        oDoc.Bookmarks("\endofdoc").Range.InsertParagraphAfter
        Do
            Set oRng = oDoc.Bookmarks("\endofdoc").Range
            oRng.ParagraphFormat.SpaceAfter = 6
            oRng.InsertAfter "A line of text"
            oRng.InsertParagraphAfter
        Loop While Pos >= oRng.Information(wdVerticalPositionRelativeToPage)
        oRng.Collapse (wdCollapseEnd)
        oRng.InsertBreak wdPageBreak
        oRng.Collapse wdCollapseEnd
        oRng.InsertAfter "We're now on page 2. Here's my chart:"
        oRng.InsertParagraphAfter
        
        'Insert a chart and change the chart.
        Set oShape = oDoc.Bookmarks("\endofdoc").Range.InlineShapes.AddOLEObject( _
            ClassType:="MSGraph.Chart.8", FileName _
            :="", LinkToFile:=False, DisplayAsIcon:=False)
        Set oChart = oShape.OLEFormat.Object
        oChart.charttype = 4 'xlLine = 4
        oChart.Application.Update
        oChart.Application.Quit
        '... If desired, you can proceed from here using the Microsoft Graph 
        'Object model on the oChart object to make additional changes to the
        'chart.
        oShape.Width = oWord.InchesToPoints(6.25)
        oShape.Height = oWord.InchesToPoints(3.57)
        
        'Add text after the chart.
        Set oRng = oDoc.Bookmarks("\endofdoc").Range
        oRng.InsertParagraphAfter
        oRng.InsertAfter "THE END."
    
        'All done. Unload this form.
        Unload Me
    					
  5. กด F5 เพื่อเรียกใช้โปรแกรมแล้ว คลิกCommand1.
หลังจากรหัสเสร็จสมบูรณ์ ตรวจสอบเอกสารที่ถูกสร้างขึ้นสำหรับคุณ เอกสารประกอบด้วยเพจทั้งสองย่อหน้าที่จัดรูปแบบ ตาราง และแผนภูมิ

ใช้แม่แบบ

ถ้าคุณกำลังใช้การทำงานอัตโนมัติเพื่อสร้างเอกสารที่เป็นทั้งหมดในรูปแบบทั่วไป คุณสามารถได้รับประโยชน์จากการเริ่มการทำงานของกระบวนการที่มีเอกสารใหม่ที่สร้างขึ้นจากเท็มเพล preformatted ใช้แม่แบบที่ มีไคลเอ็นต์การทำงานอัตโนมัติของ Word ของคุณมีข้อดีสำคัญ ๆ ที่สองผ่านสร้างเอกสารจากไม่มีสิ่งใด:
  • คุณสามารถให้การควบคุมการจัดรูปแบบและการจัดวางวัตถุมากกว่าตลอดทั้งเอกสารของคุณ
  • คุณสามารถสร้างเอกสารของคุณ ด้วยรหัสน้อยลง
โดยใช้เท็มเพล คุณสามารถปรับตำแหน่งของตาราง ย่อหน้า และวัตถุอื่น ๆ ภายในเอกสาร ตลอดจนรวมการจัดรูปแบบบนวัตถุเหล่านั้น โดยใช้การทำงานอัตโนมัติ คุณสามารถสร้างเอกสารใหม่โดยยึดตามแม่แบบของคุณด้วยรหัสเช่นต่อไปนี้:
oWord.Documents.Add "<Path to your template>\MyTemplate.dot"
				
ในแม่แบบของคุณ คุณสามารถกำหนดที่คั่นหน้าเว็บเพื่อให้ทำงานอัตโนมัติของไคลเอ็นต์สามารถกรอกข้อมูลลงในข้อความตัวแปรที่ตั้งที่ระบุในเอกสาร เป็นไปตาม:
oDoc.Bookmarks("MyBookmark").Range.Text = "Some Text Here"
				
ประโยชน์อื่นเพื่อใช้เท็มเพลคือ คุณสามารถสร้าง และเก็บการจัดรูปแบบลักษณะที่คุณต้องการใช้ในขณะที่ดำเนินการ เป็นดังนี้:
oDoc.Bookmarks("MyBookmark").Range.Style = "MyStyle"
				
หรือ
oWord.Selection.Style = "MyStyle"
				

ข้อมูลอ้างอิง

สำหรับข้อมูลเพิ่มเติม ให้คลิกหมายเลขบทความด้านล่างนี้ เพื่อดูบทความใน Microsoft Knowledge Base::
220607วิธีดำเนินการให้ดำเนินการจดหมายเวียนจาก Visual Basic Microsoft Word อัตโนมัติ
285332วิธีดำเนินการกับ Visual Basic เมื่อต้องการสร้างจดหมายเวียนใน Word 2002 อัตโนมัติ
285333ข้อมูล: เด Word 2002 จดหมายเวียนเหตุการณ์รหัสโม
สำหรับข้อมูลเพิ่มเติม ดูการต่อไปนี้สำหรับนักพัฒนา Microsoft Network (MSDN) เว็บไซต์ต่อไปนี้:
Microsoft Office การพัฒนากับ Visual Studio
.aspx http://msdn2.microsoft.com/en-us/library/aa188489 (office.10)
(c) Microsoft Corporation 2001 สิทธิ์ทั้งหมดที่สำรองไว้ contributions โดย Lori B. Turner, Microsoft Corporation

คุณสมบัติ

หมายเลขบทความ (Article ID): 313193 - รีวิวครั้งสุดท้าย: 10 มกราคม 2554 - Revision: 2.0
ใช้กับ
  • Microsoft Visual Basic 6.0 Professional Edition
  • Microsoft Office Word 2007
  • Microsoft Word 2002 Standard Edition
  • Microsoft Word 2000 Standard Edition
Keywords: 
kbexpertiseinter kbautomation kbhowtomaster kbmt KB313193 KbMtth
แปลโดยคอมพิวเตอร์
ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ
ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:313193

ให้ข้อเสนอแนะ

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com