Möglicherweise erhalten Sie die Fehlermeldung "Laufzeitfehler"-2147023174 "(800706BA)" oder "Laufzeitfehler" 462 "", wenn Sie Visual Basic-Code ausführen, der die Automatisierung zum Steuern von Word verwendet.

Gilt für: Office-Produkte

Problembeschreibung


Wenn Sie Microsoft Visual Basic-Code ausführen, in dem Microsoft Word mithilfe von Automatisierung gesteuert wird, wird möglicherweise eine der folgenden Fehlermeldungen angezeigt:Fehlermeldung 1
Laufzeitfehler-Automatisierungsfehler "-2147023174" (800706BA)
Fehlermeldung 2
Laufzeitfehler "462": Der Remoteservercomputer ist nicht vorhanden oder nicht verfügbar

Ursache


Visual Basic hat einen Verweis auf Word aufgrund einer Codezeile festgelegt, die ein Word-Objekt, eine Methode oder eine Eigenschaft aufruft, ohne es mit einer Word-Objektvariablen zu qualifizieren. Visual Basic veröffentlicht diesen Verweis erst, nachdem Sie das Programm beendet haben. Dieser fehlgeschlagene Bezug stört den Automatisierungscode, wenn der Code mehrmals ausgeführt wird.

Fehlerbehebung


Ändern Sie den Code so, dass jeder Aufruf eines Word-Objekts, einer Methode oder einer Eigenschaft mit der entsprechenden Objektvariablen qualifiziert wird.

Status


Es handelt sich hierbei um ein beabsichtigtes Verhalten.

Weitere Informationen


Zum Automatisieren von Word erstellen Sie eine Objektvariable, die sich normalerweise auf die Word-Anwendung oder das Dokumentobjekt bezieht. Andere Objektvariablen können dann so eingestellt werden, dass Sie auf eine Auswahl, einen Bereich oder andere Objekte im Word-Objektmodell verweisen. Wenn Sie Code schreiben, um ein Word-Objekt, eine Methode oder eine Eigenschaft zu verwenden, sollten Sie dem Aufruf immer die entsprechende Objektvariable voranstellen. Wenn Sie dies nicht tun, verwendet Visual Basic einen ausgeblendeten globalen Variablen Bezug, den er auf die aktuell ausgeführte Instanz festlegt. Wenn Word heruntergefahren wird oder die deklarierte Objektvariable freigegeben wird, verweist die verborgene globale Variable nun auf ein ungültiges (zerstörtes) Objekt. Wenn der Automatisierungscode erneut ausgeführt wird, schlagen Aufrufe dieser ausgeblendeten Objektvariablen mit dem oben genannten Fehler fehl. Die folgenden Schritte veranschaulichen, wie Sie dieses Problem reproduzieren und wie Sie es korrigieren können.

Schritte zum Reproduzieren des Verhaltens

  1. Starten Sie ein neues Standard-EXE-Projekt in Visual Basic. Form1 wird standardmäßig erstellt.
  2. Klicken Sie im Menü Projekt auf Verweise , und klicken Sie dann auf eine der folgenden Optionen:
    • Klicken Sie in Office Word 2007 auf Microsoft Word 12,0-Objektbibliothek .
    • Klicken Sie in Word 2003 auf Microsoft Word 11,0-Objektbibliothek .
    • Klicken Sie in Word 2003 auf Microsoft Word 10,0-Objektbibliothek .
    • Klicken Sie in Word 2000 auf Microsoft Word 9,0-Objektbibliothek.
    • Klicken Sie in Word 97 auf Microsoft Word 8,0-Objektbibliothek.
  3. Platzieren Sie eine Befehlsschaltfläche auf Form1.
  4. Kopieren Sie den folgenden Code in das Codefenster von Form1:
          Option Explicit      Private Sub Command1_Click()         Dim oWord As Word.Application         Dim oDoc As Word.Document         Dim oRange as Word.Range         Set oWord = CreateObject("Word.Application")         With oWord             .Visible = True             .Activate             .WindowState = wdWindowStateNormal         End With         Set oDoc = oWord.Documents.Add         MsgBox "Document open", vbMsgBoxSetForeground         With oDoc             .PageSetup.LeftMargin = InchesToPoints(1.25)         End With         ' This example inserts text at the end of section one.         Set oRange = ActiveDocument.Sections(1).Range         With oRange             .MoveEnd Unit:=wdCharacter, Count:= -1             .Collapse Direction:=wdCollapseEnd             .InsertParagraphAfter             .InsertAfter "End of section."         End With         With oDoc             .Saved = True         End With         Set oRange = Nothing         Set oDoc = Nothing         oWord.Quit         Set oWord = Nothing      End Sub
  5. Klicken Sie im Menü Ausführen auf Start , oder drücken Sie die F5-Taste, um das Programm zu starten.
  6. Klicken Sie auf die Befehlsschaltfläche. Es tritt kein Fehler auf. Es wurde jedoch ein Verweis auf Word erstellt, der noch nicht veröffentlicht wurde.
  7. Klicken Sie erneut auf die Befehlsschaltfläche, und beachten Sie, dass die zuvor beschriebene Fehlermeldung angezeigt wird.Hinweis Der Fehler tritt auf, weil der Code auf die InchesToPoints-Methode verweist, ohne den Aufruf mit der oWord-Objektvariablen voranzustellen.
  8. Beenden Sie das Projekt, und ändern Sie die folgende Zeile:
    .PageSetup.LeftMargin = InchesToPoints(1.25)
    zu
    .PageSetup.LeftMargin = oWord.InchesToPoints(1.25)
  9. Führen Sie das Programm erneut aus. Klicken Sie dann auf die Befehlsschaltfläche. Es tritt kein Fehler auf.
  10. Klicken Sie erneut auf die Befehlsschaltfläche, und beachten Sie, dass die Fehlermeldung angezeigt wird.Hinweis Der Fehler tritt auf, weil sich der Code auf das Range-Objekt des ActiveDocument-Abschnitts bezieht, ohne den Aufruf mit der oWord-Objektvariablen voranzustellen.
  11. Beenden Sie das Projekt, und ändern Sie die folgende Zeile:
    Set oRange = ActiveDocument.Sections(1).Range
    zu
    Set oRange = oWord.ActiveDocument.Sections(1).Range
  12. Führen Sie das Programm erneut aus. Beachten Sie, dass der Code mehrmals ohne Fehler ausgeführt werden kann.
Beim Erstellen eines Visual Basic-Projekts, das Word automatisiert, wenn Ihr Projekt einen Verweis auf die Microsoft Word-Objektbibliothek enthält, ist der Beispielcode für die Objekte, Methoden und Eigenschaften des Word-Objektmodells in der Word-Hilfedatei verfügbar. Wenn sich der Cursor über einem Schlüsselwort in Ihrem Code befindet, wird der entsprechende Hilfetext angezeigt, indem Sie die F1-Taste drücken. Der Beispielcode im Hilfethema ist der Microsoft Word Visual Basic für Applikationen-Code. Die Objekt Bezüge, die Ihr Visual Basic-Code erfordert, werden nicht angezeigt. Sie müssen die Qualifizierer nach Bedarf hinzufügen.

Informationsquellen


Weitere Informationen finden Sie in den folgenden Artikeln der Microsoft Knowledge Base:
178510 PRB: Fehler bei der Excel-Automatisierungsmethode des Objekts ' _Global '
167223 Microsoft Office 97-Automatisierungs Hilfedatei verfügbar
Wenn Sie weitere Informationen zur Automatisierung von Office-Anwendungen erhalten möchten, klicken Sie unten auf die Artikelnummer, um den Artikel in der Microsoft Knowledge Base anzuzeigen:
222101 HOWTO: Suchen und Verwenden der Office-Objektmodelldokumentation