???? ??? ??????? ???? ????? ??? ????? ????? ????? ???? ?? Word ???????? ??????? ?? Visual Basic .NET.
????? ????????? ????????
???? ????? ???????? ???????? ?? ??? ??????? ????? ?????? ??? ???:
- ????? ??????? ?? ???? ????????.
- ?????? ?? ????? ???????? ???????? ??? ?????.
- ????? ????? ??????? ??????? ????? ??????? ?????????.
- ????? ?????.
?????? ????? Word ???? ???????? ??????? ?? Visual Basic .NET ???? ??????? ???????:
- ??? ????? Microsoft Visual Studio .NET. ?? ??????? ???? ???? ??? ???? ?? ???? ??? ???????. ??? ????? Project ???? ??? ?????? Visual Basic ?? ???? ??? ????? Windows ??? ?????. ??? ????? Form1 ???? ???????.
- ????? ???? ??? ????? ?????? Microsoft Word. ?????? ????? ???? ??????? ???????:
- ?? ??????? ??????? ???? ??? ????? ????.
- ?? ????? ??????? COM ????? ???? ????? ?????? Microsoft Word ?? ???? ??? ?????.
?????? ????? Microsoft Office 2003 ?????????? ??????? ?? Office "????????? Interop ????????" (PIAs). ?? ????? Microsoft Office XP PIAs ???? ?? ??? ?????. ????? ?? ????????? ??? Office XP PIAs ???? ??? ??? ??????? ?????? ?????? ?? "????? ??????? ?? Microsoft: 328912
(http://support.microsoft.com/kb/328912/
)
Microsoft Office XP ??????? ??????? ??????? ???????? ????????? (PIAs) ???????? ???????
- ???? ??? ????? ?? ???? ?????? ????? ????? ????? ?????????. ??? ????? ???? ?????? wrappers ???????? ???? ?????? ???? ??? "???".
- ?? ??????? ???? ??? Toolbox ???? ???? ??????? ?? ?? ?????? ?? ??? Form1.
- ???? ????? ??????? ??? Button1. ???? ???? ????????? ???????? ???????.
- ?? ???? ????????? ???????? ??????? ???????? ???????? ???????
Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click
End Sub ??:
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 - ?? ?????? ????????? ???????? ??????? ??? ???? Form1.vb:
Imports Word = Microsoft.Office.Interop.Word
- ???? F5 ?????? ???????? ???????.
??? ?????? ????????? ???????? ??? ????? ?? ?????? ??. ????? ??????? ??? ?????? ?? ??????? ??????? ?????? ?????.
??????? ????
??? ??? ?????? ????? ?????? ????????? ???????? ?? ????? ????, ???? ?? ?????? ?? ????? ??????? ???????? ????? ???? ????? ??? ???? ??????? ??????. ???????? ???? ?? ???? ??????? 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
(http://support.microsoft.com/kb/301656/
)
????? ????? Word ?????? ??? ????????? ?? Visual Basic .NET
????? ?? ?????????? ???? ????? ??? Network (MSDN) ?????? Microsoft ???????:
???? ???????: 316383 - ????? ??? ??????: 07/????? ??????/1428 - ??????: 11.1
????? ???
- 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 KbMtar |
????? ???????: ??? ????? ??? ?????? ???????? ?????? ????? ???? ????? ?????????? ????? ?? ????????? ?????? ????. ???? ???? ?????????? ???? ?? ???????? ???????? ?????? ????????? ????? ????????? ???????? ????? ???????? ?????? ?? ?????? ??? ?? ???????? ???????? ?? ????? ??????? ?????? ??? ??????? ?????? ??. ?????? ?? ???? ??? ??????? ???????? ????? ?? ???? ????? ?????? ??? ????? ??? ????? ??????? ?? ????? ?? ?????? ??? ??? ??????? ??????? ?? ????? ????? ????? ????? ?????. ?? ????? ???? ?????????? ??????? ??? ????? ?? ??????? ?? ????? ?????? ?? ??? ????? ?? ????? ??????? ?? ???????? ?? ??? ???????. ???? ???? ?????????? ???????? ??? ????? ?????? ??????? ??????
???? ??? ????? ??????? ?????? ??????????
316383
(http://support.microsoft.com/kb/316383/en-us/
)