วิธีการทำให้ Word จาก Visual Basic .NET เพื่อสร้างเอกสารใหม่

การแปลบทความ การแปลบทความ
หมายเลขบทความ (Article ID): 316383 - ผลิตภัณฑ์ที่เกี่ยวข้องในบทความนี้
สำหรับรุ่น Microsoft Visual c# .NET ของบทความนี้ ดู316384.
สำหรับรุ่น Microsoft 6.0 พื้นฐานที่แสดงผลของบทความนี้ ดู313193.
ขยายทั้งหมด | ยุบทั้งหมด

เนื้อหาบนหน้านี้

สรุป

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

โค้ดตัวอย่าง

ตัวอย่างรหัสในบทความนี้อธิบายวิธีการดังต่อไปนี้:
  • แทรกย่อหน้า ด้วยข้อความและการจัดรูปแบบ
  • เรียกดู และแก้ไขช่วงต่าง ๆ ภายในเอกสาร
  • แทรกตาราง การจัดรูปแบบตาราง และเติมข้อมูลตารางข้อมูล
  • เพิ่มแผนภูมิ
เมื่อต้องการสร้างเอกสาร Word ใหม่ โดยใช้การทำงานอัตโนมัติจาก Visual Basic .NET ดำเนินการดังต่อไปนี้:
  1. เริ่ม Microsoft Visual Studio .NET ในการแฟ้ม:เมนู คลิกใหม่แล้ว คลิกProject. ภายใต้ชนิดโครงการคลิกโครงการ visual Basicจากนั้น คลิกแอพลิเคชันของ windowsภายใต้แม่แบบ. Form1 จะถูกสร้างขึ้นตามค่าเริ่มต้น
  2. เพิ่มการอ้างอิงไปยังการไลบรารีวัตถุ Microsoft Word. โดยให้ทำตามขั้นตอนต่อไปนี้::
    1. ในการProjectเมนู คลิกเพิ่มการอ้างอิง.
    2. ในการcomแท็บ ค้นหานี้Microsoft Word การไลบรารีวัตถุคลิกเลือก.

      หมายเหตุ:Microsoft Office 2003 และ Office รุ่นที่ใหม่กว่ารวมแอสเซมบลี Interop หลัก (PIAs) Microsoft Office XP ไม่สามารถรวม PIAs แต่ดังกล่าวอาจถูกดาวน์โหลดสำหรับข้อมูลเพิ่มเติมเกี่ยวกับ Office XP PIAs คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
      328912แอสเซ Microsoft Office XP หลัก interop มบลี (PIAs) พร้อมใช้งานสำหรับการดาวน์โหลด
    3. คลิกตกลงในการเพิ่มการอ้างอิงกล่องโต้ตอบเพื่อยอมรับการเลือกของคุณ ถ้าคุณได้รับการพรอมต์เพื่อสร้าง wrappers สำหรับไลบรารีที่คุณเลือก คลิกใช่.
  3. ในการมุมมองเมนู การเลือกกล่องเครื่องมือเมื่อต้องการแสดงในกล่องเครื่องมือ และเพิ่มปุ่มไป Form1 แล้ว
  4. คลิกสองครั้งbutton1. หน้าต่างรหัสสำหรับแบบฟอร์มปรากฏขึ้น
  5. ในหน้าต่างโค้ด ให้แทนที่โค้ดต่อไปนี้
        Private Sub Button1_Click(ByVal sender As System.Object, _
          ByVal e As System.EventArgs) Handles Button1.Click
    
        End Sub
    with::
        Private Sub Button1_Click(ByVal sender As System.Object, _
          ByVal e As System.EventArgs) Handles Button1.Click
    
            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.
            oWord = CreateObject("Word.Application")
            oWord.Visible = True
            oDoc = oWord.Documents.Add
    
            'Insert a paragraph at the beginning of the document.
            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.
            oPara2 = oDoc.Content.Paragraphs.Add(oDoc.Bookmarks.Item("\endofdoc").Range)
            oPara2.Range.Text = "Heading 2"
            oPara2.Format.SpaceAfter = 6
            oPara2.Range.InsertParagraphAfter()
    
            'Insert another paragraph.
            oPara3 = oDoc.Content.Paragraphs.Add(oDoc.Bookmarks.Item("\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 and italic.
            Dim r As Integer, c As Integer
            oTable = oDoc.Tables.Add(oDoc.Bookmarks.Item("\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.Item(1).Range.Font.Bold = True
            oTable.Rows.Item(1).Range.Font.Italic = True
    
            'Add some text after the table.
            'oTable.Range.InsertParagraphAfter()
            oPara4 = oDoc.Content.Paragraphs.Add(oDoc.Bookmarks.Item("\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.
            oTable = oDoc.Tables.Add(oDoc.Bookmarks.Item("\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.Item(1).Width = oWord.InchesToPoints(2)   'Change width of columns 1 & 2
            oTable.Columns.Item(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.Item("\endofdoc").Range.InsertParagraphAfter()
            Do
                oRng = oDoc.Bookmarks.Item("\endofdoc").Range
                oRng.ParagraphFormat.SpaceAfter = 6
                oRng.InsertAfter("A line of text")
                oRng.InsertParagraphAfter()
            Loop While Pos >= oRng.Information(Word.WdInformation.wdVerticalPositionRelativeToPage)
            oRng.Collapse(Word.WdCollapseDirection.wdCollapseEnd)
            oRng.InsertBreak(Word.WdBreakType.wdPageBreak)
            oRng.Collapse(Word.WdCollapseDirection.wdCollapseEnd)
            oRng.InsertAfter("We're now on page 2. Here's my chart:")
            oRng.InsertParagraphAfter()
    
            'Insert a chart and change the chart.
            oShape = oDoc.Bookmarks.Item("\endofdoc").Range.InlineShapes.AddOLEObject( _
                ClassType:="MSGraph.Chart.8", FileName _
                :="", LinkToFile:=False, DisplayAsIcon:=False)
            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.
            oRng = oDoc.Bookmarks.Item("\endofdoc").Range
            oRng.InsertParagraphAfter()
            oRng.InsertAfter("THE END.")
    
            'All done. Close this form.
            Me.Close()
    
        End Sub
  6. เพิ่มรหัสต่อไปนี้ที่ด้านบนของ Form1.vb:
    Imports Word = Microsoft.Office.Interop.Word
  7. กด F5 เพื่อสร้างและเรียกใช้โปรแกรม
หลังจากรหัสเสร็จสมบูรณ์ ตรวจสอบเอกสารที่สร้างขึ้นสำหรับคุณ เอกสารประกอบด้วยเพจทั้งสองย่อหน้าที่จัดรูปแบบ ตาราง และแผนภูมิ

ใช้แม่แบบ

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

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

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการใช้ Visual Basic .NET เพื่อทำให้ Microsoft Word คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
301656วิธีการทำให้ Word ทำจดหมายเวียนจาก Visual Basic .NET
สำหรับข้อมูลเพิ่มเติม ดูการต่อไปนี้สำหรับนักพัฒนา Microsoft Network (MSDN) เว็บไซต์ต่อไปนี้:
Microsoft Office การพัฒนากับ Visual Studio
.aspx http://msdn2.microsoft.com/en-us/library/aa188489 (office.10)

word ใน Office
.aspx http://msdn2.microsoft.com/en-us/library/aa201330 (office.11)

Word อีกที่หนึ่ง
.aspx http://msdn2.microsoft.com/en-us/library/aa201332 (office.11)

คุณสมบัติ

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

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

 

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