Cara mengotomatisasi Microsoft Word dengan menggunakan Visual Basic untuk membuat dokumen baru

Terjemahan Artikel Terjemahan Artikel
ID Artikel: 313193 - Melihat produk di mana artikel ini berlaku.
Perbesar semua | Perkecil semua

RINGKASAN

Artikel ini selangkah demi selangkah menjelaskan cara untuk membuat yang baru dokumen di Word dengan menggunakan otomatisasi dari Visual Basic.

Contoh kode

Kode contoh dalam artikel ini menunjukkan bagaimana melakukan berikut:
  • Masukkan paragraf dengan teks dan format.
  • People dan memodifikasi berbagai rentang dalam dokumen.
  • Menyisipkan tabel, format tabel, dan mengisi tabel dengan data.
  • Tambahkan bagan.
Untuk membuat dokumen Word yang baru dengan menggunakan otomatisasi dari Visual Dasar, ikuti langkah berikut:
  1. Dalam Visual Basic, buat projek Standard EXE yang baru. Form1 dibuat oleh default.
  2. Pada Project menu, klikReferensi, klik salah satu opsi berikut, dan kemudian klik Oke:
    • Untuk Office Word 2007, klik Microsoft Word 12,0 Perpustakaan objek.
    • Untuk Word 2003, klik Microsoft Word 11,0 Perpustakaan objek.
    • Untuk Word 2002, klik Microsoft Word 10,0 Perpustakaan objek.
    • Untuk Word 2000, klik Microsoft Word 9,0 Perpustakaan objek.
  3. Menambah kontrol CommandButton pada Form1.
  4. Tambahkan kode berikut untuk Click acara untuk 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. Tekan F5 untuk menjalankan program, kemudian klik Command1.
Setelah kode selesai, memeriksa dokumen yang dibuat Untukmu. Dokumen berisi halaman dua paragraf diformat, tabel, dan bagan.

Menggunakan Template

Jika Anda menggunakan otomatisasi untuk membangun dokumen yang semuanya dalam format umum, Anda dapat memperoleh manfaat dari memulai proses dengan dokumen baru yang didasarkan pada template sudah terformat. Menggunakan template dengan kata-kata Anda Klien otomasi memiliki dua keuntungan signifikan lebih dari membangun sebuah dokumen dari tidak ada:
  • Anda dapat memiliki kontrol yang lebih format besar dan penempatan objek di seluruh dokumen.
  • Anda dapat membangun dokumen Anda dengan sedikit kode.
Dengan menggunakan template, Anda dapat menyempurnakan penempatan tabel, paragraf, dan lain objek dalam dokumen, serta mencakup format pada objek tersebut. Dengan menggunakan otomatisasi, Anda dapat membuat dokumen baru berdasarkan template Anda dengan kode seperti berikut:
oWord.Documents.Add "<Path to your template>\MyTemplate.dot"
				
Di template Anda, Anda dapat menentukan bookmark sehingga Anda otomatisasi klien dapat mengisi variabel teks pada lokasi tertentu dalam dokumen, sebagai berikut:
oDoc.Bookmarks("MyBookmark").Range.Text = "Some Text Here"
				
Keuntungan lain untuk menggunakan template adalah bahwa Anda dapat membuat dan menyimpan memformat gaya yang ingin Anda Terapkan pada jangka waktu, sebagai berikut:
oDoc.Bookmarks("MyBookmark").Range.Style = "MyStyle"
				
-atau-
oWord.Selection.Style = "MyStyle"
				

REFERENSI

Untuk informasi tambahan, klik nomor artikel di bawah ini untuk melihat artikel di dalam Basis Pengetahuan Microsoft:
220607 Cara mengotomatisasi Microsoft Word untuk melakukan gabungan surat dari Visual Basic
285332 Cara mengotomatiskan Word 2002 dengan Visual Basic untuk membuat gabungan surat
285333 INFO: Word 2002 MailMerge acara kode demonstrasi
Untuk selengkapnya, lihat Microsoft berikut Situs Web Developer Network (MSDN):
Microsoft Office Development with Visual Studio
.aspx http://msdn2.Microsoft.com/en-us/library/aa188489 (office.10)
(c) Microsoft Corporation 2001, All Rights Reserved. Kontribusi oleh Lori B. Turner, Microsoft Corporation.

Properti

ID Artikel: 313193 - Kajian Terakhir: 24 September 2011 - Revisi: 2.0
Berlaku bagi:
  • Microsoft Visual Basic 6.0 Professional Edition
  • Microsoft Office Word 2007
  • Microsoft Word 2002
  • Microsoft Word 2000
Kata kunci: 
kbexpertiseinter kbautomation kbhowtomaster kbmt KB313193 KbMtid
Penerjemahan Mesin
PENTING: Artikel ini diterjemahkan menggunakan perangkat lunak mesin penerjemah Microsoft dan bukan oleh seorang penerjemah. Microsoft menawarkan artikel yang diterjemahkan oleh seorang penerjemah maupun artikel yang diterjemahkan menggunakan mesin sehingga Anda akan memiliki akses ke seluruh artikel baru yang diterbitkan di Pangkalan Pengetahuan (Knowledge Base) dalam bahasa yang Anda gunakan. Namun, artikel yang diterjemahkan menggunakan mesin tidak selalu sempurna. Artikel tersebut mungkin memiliki kesalahan kosa kata, sintaksis, atau tata bahasa, hampir sama seperti orang asing yang berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab terhadap akurasi, kesalahan atau kerusakan yang disebabkan karena kesalahan penerjemahan konten atau penggunaannya oleh para pelanggan. Microsoft juga sering memperbarui perangkat lunak mesin penerjemah.
Klik disini untuk melihat versi Inggris dari artikel ini:313193

Berikan Masukan

 

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