Αυτό το άρθρο βήμα προς βήμα περιγράφει τον τρόπο δημιουργίας ενός νέου
έγγραφο του Word χρησιμοποιώντας αυτοματοποίηση από τη Visual Basic.NET.
Δείγμα κώδικα
Το δείγμα κώδικα σε αυτό το άρθρο παρουσιάζει τον τρόπο για να γίνει η
ακολουθεί:
- Εισαγωγή παραγράφους με μορφοποίηση κειμένου και.
- Αναζήτηση και να τροποποιήσετε διάφορες περιοχές μέσα σε ένα
το έγγραφο.
- Εισαγωγή πινάκων, μορφοποιήστε τους πίνακες και συμπλήρωση των πινάκων με
τα δεδομένα.
- Προσθήκη ενός γραφήματος.
Για να δημιουργήσετε ένα νέο έγγραφο του Word χρησιμοποιώντας αυτοματοποίηση από Visual
Βασικό.NET, ακολουθήστε τα εξής βήματα:
- Ξεκινήστε το Microsoft Visual Studio.NET. Από το Το αρχείο μενού, κάντε κλικ στο κουμπί Νέα και στη συνέχεια κάντε κλικ στο κουμπί Έργο. Στην περιοχή Τύποι έργου Κάντε κλικ στο κουμπί Έργα της Visual Basic, στη συνέχεια, κάντε κλικ στο κουμπί Εφαρμογή των Windows στην περιοχή Πρότυπα. Δημιουργείται η φόρμα Form1 από προεπιλογή.
- Προσθέστε μια αναφορά για το Βιβλιοθήκη αντικειμένων του Microsoft Word. Ακολουθήστε τα εξής βήματα:
- Από το Έργο μενού, κάντε κλικ στο κουμπί Προσθήκη αναφοράς.
- Από το COM καρτέλα, εντοπίστε το Microsoft Word Βιβλιοθήκη αντικειμένων και κάντε κλικ στο κουμπί Επιλέξτε.
Σημείωση Microsoft Office 2003 και νεότερες εκδόσεις του Office περιλαμβάνουν πρωτεύοντα Interop (PIA). Microsoft Office XP δεν περιλαμβάνουν στοιχεία PIA αλλά μπορεί να γίνει λήψη.Για περισσότερες πληροφορίες σχετικά με τα στοιχεία PIA του Office XP, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft:328912
(http://support.microsoft.com/kb/328912/
)
Microsoft Office XP κύριο σύνολο διαλειτουργικότητας (PIA) είναι διαθέσιμα για λήψη
- Κάντε κλικ στο κουμπί OK με το Προσθήκη αναφορών παράθυρο διαλόγου για να αποδεχτείτε τις επιλογές σας. Εάν λάβετε μια ερώτηση για
δημιουργήσετε προγράμματα εξομοίωσης για βιβλιοθήκες που επιλέξατε, κάντε κλικ στο Ναι.
- Από το Προβολή μενού, επιλέξτε Εργαλειοθήκη Για να εμφανίσετε την εργαλειοθήκη και, στη συνέχεια, να προσθέσετε ένα κουμπί
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
Για περισσότερες πληροφορίες, ανατρέξτε στο ακόλουθο Microsoft
Τοποθεσίες Web Developer Network (MSDN):