Es gibt zwei Möglichkeiten, einen Automatisierungsserver zu steuern: mithilfe von späten Bindung oder durch die frühe Bindung verwenden. Mit später Bindung Methoden sind nicht erst zur Laufzeit gebunden, und der Automatisierungsserver wird als Objekt deklariert. Bei der frühen Bindung weiß die Anwendung zur Entwurfszeit den genauen Typ des Objekts es wird eine Kommunikation mit und kann Ihre Objekte als bestimmten Typ deklarieren. In diesem Beispiel wird die frühe Bindung, die in den meisten Fällen besser angesehen wird, da es bessere Leistung und bessere Typsicherheit bietet verwendet.
Frühe Bindung an einen müssen Sie einen Verweis auf den Server geben Bibliothek festzulegen. In Visual Basic erfolgt dies über das Dialogfeld Verweise . Um das Dialogfeld Verweise öffnen, klicken Sie im Menü Projekt auf Verweise . Für dieses Beispiel müssen Sie einen Verweis auf Typ Bibliothek für Word hinzufügen, bevor Sie den Code ausführen können.
Starten Sie Visual Basic, und erstellen Sie ein neues Standard-EXE-Projekt. Form1 wird standardmäßig erstellt.
Fügen Sie ein CommandButton -Steuerelement zu Form1 hinzu.
Klicken Sie im Projekt auf Verweise , um das Dialogfeld Verweise zu öffnen.
Wählen Sie Microsoft Word 11.0 Object Library , die einen Verweis auf die Bibliothek Microsoft Office Word 2003 Typ zu erstellen. Wählen Sie für Word 2002 Microsoft Word 10.0-Bibliothek . Wählen Sie für Word 2000 Microsoft Word 9.0-Bibliothek . Wählen Sie für Word 97 Microsoft Word 8.0-Objektbibliothek .
Klicken Sie auf OK , um das Dialogfeld Verweise zu schließen.
Fügen Sie im Codefenster für Form1 den folgenden Code:
Option Explicit
Dim wrdApp As Word.Application
Dim wrdDoc As Word.Document
Private Sub Command1_Click()
Dim wrdSelection As Word.Selection
Dim wrdMailMerge As Word.MailMerge
Dim wrdMergeFields As Word.MailMergeFields
Dim StrToAdd As String
' Create an instance of Word, and make it visible.
Set wrdApp = CreateObject("Word.Application")
wrdApp.Visible = True
' Add a new document.
Set wrdDoc = wrdApp.Documents.Add
wrdDoc.Select
Set wrdSelection = wrdApp.Selection
Set wrdMailMerge = wrdDoc.MailMerge
' Create the MailMerge Data file.
CreateMailMergeDataFile
' Create a string, and insert it into the document.
StrToAdd = "State University" & vbCr & _
"Electrical Engineering Department"
wrdSelection.ParagraphFormat.Alignment = wdAlignParagraphCenter
wrdSelection.TypeText StrToAdd
InsertLines 4
' Insert merge data.
wrdSelection.ParagraphFormat.Alignment = wdAlignParagraphLeft
Set wrdMergeFields = wrdMailMerge.Fields
wrdMergeFields.Add wrdSelection.Range, "FirstName"
wrdSelection.TypeText " "
wrdMergeFields.Add wrdSelection.Range, "LastName"
wrdSelection.TypeParagraph
wrdMergeFields.Add wrdSelection.Range, "Address"
wrdSelection.TypeParagraph
wrdMergeFields.Add wrdSelection.Range, "CityStateZip"
InsertLines 2
' Right align the line, and insert a date field
' with the current date.
wrdSelection.ParagraphFormat.Alignment = _
wdAlignParagraphRight
wrdSelection.InsertDateTime _
DateTimeFormat:="dddd, MMMM dd, yyyy", _
InsertAsField:=False
InsertLines 2
' Align the rest of the document.
wrdSelection.ParagraphFormat.Alignment = _
wdAlignParagraphJustify
wrdSelection.TypeText "Dear "
wrdMergeFields.Add wrdSelection.Range, "FirstName"
wrdSelection.TypeText ","
InsertLines 2
' Create a string, and insert it into the document.
StrToAdd = "Thank you for your recent request for next " & _
"semester's class schedule for the Electrical " & _
"Engineering Department. Enclosed with this " & _
"letter is a booklet containing all the classes " & _
"offered next semester at State University. " & _
"Several new classes will be offered in the " & _
"Electrical Engineering Department next semester. " & _
"These classes are listed below."
wrdSelection.TypeText StrToAdd
InsertLines 2
' Insert a new table with 9 rows and 4 columns.
wrdDoc.Tables.Add wrdSelection.Range, NumRows:=9, _
NumColumns:=4
With wrdDoc.Tables(1)
' Set the column widths
.Columns(1).SetWidth 51, wdAdjustNone
.Columns(2).SetWidth 170, wdAdjustNone
.Columns(3).SetWidth 100, wdAdjustNone
.Columns(4).SetWidth 111, wdAdjustNone
' Set the shading on the first row to light gray.
.Rows(1).Cells.Shading.BackgroundPatternColorIndex = _
wdGray25
' Format the first row in bold.
.Rows(1).Range.Bold = True
' Center the text in Cell (1,1).
.Cell(1, 1).Range.Paragraphs.Alignment = wdAlignParagraphCenter
' Fill each row of the table with data.
FillRow wrdDoc, 1, "Class Number", "Class Name", "Class Time", _
"Instructor"
FillRow wrdDoc, 2, "EE220", "Introduction to Electronics II", _
"1:00-2:00 M,W,F", "Dr. Jensen"
FillRow wrdDoc, 3, "EE230", "Electromagnetic Field Theory I", _
"10:00-11:30 T,T", "Dr. Crump"
FillRow wrdDoc, 4, "EE300", "Feedback Control Systems", _
"9:00-10:00 M,W,F", "Dr. Murdy"
FillRow wrdDoc, 5, "EE325", "Advanced Digital Design", _
"9:00-10:30 T,T", "Dr. Alley"
FillRow wrdDoc, 6, "EE350", "Advanced Communication Systems", _
"9:00-10:30 T,T", "Dr. Taylor"
FillRow wrdDoc, 7, "EE400", "Advanced Microwave Theory", _
"1:00-2:30 T,T", "Dr. Lee"
FillRow wrdDoc, 8, "EE450", "Plasma Theory", _
"1:00-2:00 M,W,F", "Dr. Davis"
FillRow wrdDoc, 9, "EE500", "Principles of VLSI Design", _
"3:00-4:00 M,W,F", "Dr. Ellison"
End With
' Go to the end of the document.
wrdApp.Selection.GoTo wdGoToLine, wdGoToLast
InsertLines 2
' Create a string, and insert it into the document.
StrToAdd = "For additional information regarding the " & _
"Department of Electrical Engineering, " & _
"you can visit our Web site at "
wrdSelection.TypeText StrToAdd
' Insert a hyperlink to the Web page.
wrdSelection.Hyperlinks.Add Anchor:=wrdSelection.Range, _
Address:="http://www.ee.stateu.tld"
' Create a string, and insert it into the document.
StrToAdd = ". Thank you for your interest in the classes " & _
"offered in the Department of Electrical " & _
"Engineering. If you have any other questions, " & _
"please feel free to give us a call at " & _
"555-1212." & vbCr & vbCr & _
"Sincerely," & vbCr & vbCr & _
"Kathryn M. Hinsch" & vbCr & _
"Department of Electrical Engineering" & vbCr
wrdSelection.TypeText StrToAdd
' Perform mail merge.
wrdMailMerge.Destination = wdSendToNewDocument
wrdMailMerge.Execute False
' Close the original form document.
wrdDoc.Saved = True
wrdDoc.Close False
' Notify user we are done.
MsgBox "Mail Merge Complete.", vbMsgBoxSetForeground
' Release references.
Set wrdSelection = Nothing
Set wrdMailMerge = Nothing
Set wrdMergeFields = Nothing
Set wrdDoc = Nothing
Set wrdApp = Nothing
' Clean up the temp file.
Kill "C:\DataDoc.doc"
End Sub
Public Sub InsertLines(LineNum As Integer)
Dim iCount As Integer
' Insert "LineNum" blank lines.
For iCount = 1 To LineNum
wrdApp.Selection.TypeParagraph
Next iCount
End Sub
Public Sub FillRow(Doc As Word.Document, Row As Integer, _
Text1 As String, Text2 As String, _
Text3 As String, Text4 As String)
With Doc.Tables(1)
' Insert the data into the specific cell.
.Cell(Row, 1).Range.InsertAfter Text1
.Cell(Row, 2).Range.InsertAfter Text2
.Cell(Row, 3).Range.InsertAfter Text3
.Cell(Row, 4).Range.InsertAfter Text4
End With
End Sub
Public Sub CreateMailMergeDataFile()
Dim wrdDataDoc As Word.Document
Dim iCount As Integer
' Create a data source at C:\DataDoc.doc that contains the field data.
wrdDoc.MailMerge.CreateDataSource Name:="C:\DataDoc.doc", _
HeaderRecord:="FirstName, LastName, Address, CityStateZip"
' Open the file to insert the data.
Set wrdDataDoc = wrdApp.Documents.Open("C:\DataDoc.doc")
For iCount = 1 To 2
wrdDataDoc.Tables(1).Rows.Add
Next iCount
' Fill in the data.
FillRow wrdDataDoc, 2, "Steve", "DeBroux", _
"4567 Main Street", "Buffalo, NY 98052"
FillRow wrdDataDoc, 3, "Jan", "Miksovsky", _
"1234 5th Street", "Charlotte, NC 98765"
FillRow wrdDataDoc, 4, "Brian", "Valentine", _
"12348 78th Street Apt. 214", "Lubbock, TX 25874"
' Save and close the file.
wrdDataDoc.Save
wrdDataDoc.Close False
End Sub
Drücken Sie die Taste [F5], und klicken Sie zum Ausführen des Beispiels.
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 220607
(http://support.microsoft.com/kb/220607/en-us/
)
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.
Bitte geben Sie Ihr Feedback zu diesem Artikel ab
Hat dieser Artikel bei der Lösung Ihres Problems geholfen?
Ja
Nein
Ich weiß nicht
Waren die Informationen für Ihr Problem relevant?
Ja
Nein
Wie könnte man den Artikelinhalt verbessern?
Hinweis: Leider können wir keine Kommentare persönlich beantworten.
Danke! Dieses Feedback hilft uns dabei, die Supportartikel weiter zu verbessern. Weitere Informationen finden Sie auf der Hilfe und Support-Startseite.