Tento podrobný článek popisuje vytvoření nového dokumentu v aplikaci Word pomocí automatizace z Visual Basic .NET.
Ukázkový kód
V tomto článku ukázkový kód demonstruje proveďte následující:
- Vložit odstavce s textem a formátování.
- Procházet a upravovat různé rozsahy v rámci dokumentu.
- Vložení tabulek formátování tabulek a naplnění tabulek daty.
- Přidání grafu.
Vytvořit nový dokument pomocí automatizace z Visual Basic .NET, postupujte takto:
- Spusťte aplikaci Visual Studio .NET. V nabídce soubor klepněte na příkaz Nový a klepněte na příkaz projekt. Ve skupinovém rámečku Project typyProjekty jazyka klepněte na příkaz Aplikace Windows v části šablony. Jako výchozí je vytvořen formulář Form1.
- Přidat odkaz Objektové knihovny Microsoft Word. Postupujte takto:
- V nabídce projekt klepněte na tlačítko Přidat odkaz.
- Na kartě COM najít Knihovna objektů aplikace a klepněte na tlačítko Vybrat.
Poznámka: Microsoft Office 2003 a novější verze systému Office zahrnují primární sestavení InterOp (PIA). Microsoft Office XP nezahrnuje PIA, ale mohou být staženy. Další informace o sestaveních PIA sady Office XP naleznete v následujícím článku znalostní báze Microsoft Knowledge Base: 328912
(http://support.microsoft.com/kb/328912/
)
Primární sestavení InterOp (PIA) sady Office XP jsou k dispozici ke stažení
- Klepněte na tlačítko OK v dialogovém okně Přidat odkazy přijmout vaše výběry. Pokud se zobrazí výzva ke generování obálky pro vybrané knihovny klepněte na tlačítko Ano.
- V nabídce Zobrazit vyberte panel zobrazení panelu a potom přidat tlačítko Form1.
- Poklepejte na Button1. Zobrazí se okno s kódem pro formulář.
- V okně kódu nahraďte následující kód
Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click
End Sub s:
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 - Přidejte následující kód horní Form1.vb:
Imports Word = Microsoft.Office.Interop.Word
- Stisknutím klávesy F5 sestavit a spustit program.
Po dokončení kód prozkoumejte dokumentu, který je pro vás vytvořen. Dokument obsahuje dvě stránky formátované odstavce, tabulky a grafu.
Použít šablonu
Vytvořit dokumenty, které jsou všechny v společný formát pomocí automatizace, jste můžete výhodou počínaje nový dokument, který je založen na šabloně předformátované proces. Pomocí šablony s klientem automatizace Word má dva významné výhody vytváření dokumentu z nic:
- Můžete mít větší kontrolu nad formátování a umístění objektů v celém dokumenty.
- Můžete vytvořit dokumenty s méně kód.
Pomocí šablony je možné Vyladění umístění tabulky, odstavce a další objekty v rámci dokumentu, stejně jako Zahrnout formátování pro tyto objekty. Pomocí automatizace můžete vytvořit nový dokument založený na šabloně s například následující kód:
oWord.Documents.Add "<Path to your template>\MyTemplate.dot"
v šabloně, můžete definovat záložky tak, aby vaše automatizace klienta můžete vyplnit proměnné text v určitém místě v dokumentu, jako následuje:
oDoc.Bookmarks.Item("MyBookmark").Range.Text = "Some Text Here" jiný výhodou pomocí šablony je vytvoření a uložení stylů formátování, které chcete použít v době spuštění následovně:
oDoc.Bookmarks.Item("MyBookmark").Range.Style = "MyStyle" - nebo -
oWord.Selection.Style = "MyStyle"
Další informace o použití k automatizaci aplikace Visual Basic .NET klepněte na následující číslo článku databáze Microsoft Knowledge Base:
301656
(http://support.microsoft.com/kb/301656/
)
Jak automatizovat Word hromadné korespondence z jazyka .NET
Další informace naleznete na následující webové servery Microsoft Developer Network (MSDN):
ID článku: 316383 - Poslední aktualizace: 24. května 2007 - Revize: 11.1
Informace v tomto článku jsou určeny pro produkt:
- Microsoft Visual Basic .NET 2003 Standard Edition
- Microsoft Visual Basic .NET 2002 Standard Edition
- Microsoft Office Word 2007
- Microsoft Office Word 2003
- Microsoft Word 2002 Standard Edition
| kbmt kbexpertiseinter kbautomation kbhowtomaster KB316383 KbMtcs |
Strojově přeložený článekDůležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku:
316383
(http://support.microsoft.com/kb/316383/en-us/
)