Artikel ini selangkah demi selangkah menjelaskan cara untuk membuat yang baru
dokumen di Word dengan menggunakan otomatisasi dari Visual Basic.NET.
Kode sampel
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.NET, ikuti langkah berikut:
- Mulai Microsoft Visual Studio.NET. Pada Berkas menu, klik Baru kemudian klik Project. Di bawah Jenis proyek Klik Proyek-proyek Visual Basic, lalu klik Aplikasi Windows di bawah Pola acu. Form1 dibuat secara default.
- Menambahkan referensi ke Perpustakaan objek Microsoft Word. Untuk melakukannya, ikuti langkah-langkah berikut:
- Pada Project menu, klik Menambahkan referensi.
- Pada COM tab, Cari Microsoft Word Perpustakaan objek dan klik Pilih.
Catatan Microsoft Office 2003 dan versi yang lebih baru dari Office termasuk Interop utama Majelis (PIAs). Microsoft Office XP tidak mencakup PIAs, tetapi mereka dapat didownload.Untuk informasi lebih lanjut tentang Office XP PIAs, klik nomor artikel di bawah ini untuk melihat artikel di dalam Basis Pengetahuan Microsoft:328912
(http://support.microsoft.com/kb/328912/
)
Microsoft Office XP utama interop Majelis (PIAs) tersedia untuk di-download
- Klik Oke dalam Menambahkan referensi kotak dialog untuk menerima pilihan Anda. Jika Anda menerima prompt untuk
menghasilkan pembungkus untuk perpustakaan yang Anda pilih, klik Ya.
- Pada Lihat menu, pilih Toolbox untuk menampilkan Toolbox, dan kemudian menambahkan tombol untuk
Form1.
- Klik dua kali Button1. Jendela kode untuk bentuk muncul.
- Dalam jendela kode, mengganti kode berikut
Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click
End Sub dengan:
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 - Menambahkan kode berikut ke atas Form1.vb:
Imports Word = Microsoft.Office.Interop.Word
- Tekan F5 untuk membangun dan menjalankan program.
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.Item("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.Item("MyBookmark").Range.Style = "MyStyle" -atau-
oWord.Selection.Style = "MyStyle"
Untuk informasi lebih lanjut tentang menggunakan Visual Basic.NET untuk mengotomatisasi
Microsoft Word, klik nomor artikel di bawah ini untuk melihat artikel di dalam Basis Pengetahuan Microsoft:
301656
(http://support.microsoft.com/kb/301656/
)
Cara mengotomatiskan Word untuk mengoperasikan gabungan surat dari Visual Basic.NET
Untuk selengkapnya, lihat Microsoft berikut
Situs Web Developer Network (MSDN):