Dieser Artikel ist eine Übersetzung des folgenden englischsprachigen Artikels der Microsoft Knowledge Base:308340 HOW TO: Check and Remove Incorrect Project References in the Visual Basic Editor in Microsoft Word
Inhalt
Hinweis: Die Verwendung der hier aufgeführten Informationen sowie Makro- oder Programmcodes geschieht auf Ihre eigene Verantwortung. Microsoft stellt Ihnen diese Informationen sowie Makro- und Programmlistings ohne Gewähr auf Richtigkeit, Vollständigkeit und/oder Funktionalität sowie ohne Anspruch auf Support zur Verfügung. Die zur Verfügung gestellten Makro- und Programmierungsbeispiele sollen lediglich exemplarisch die Funktionsweise des Beispiels aufzeigen.
Weitere Informationen zu den von Microsoft angebotenen Supportoptionen finden Sie unter folgender Internetadresse:Zusammenfassung
Im Visual Basic-Editor von Microsoft Word können Sie Verweise auf Objektbibliotheken oder Codes erstellen, die sich in externen Dokumenten oder Vorlagen befinden. Dadurch können Sie externe Prozeduren so aufrufen, wie wenn Sie in Ihrem eigenen Projekt geschrieben worden wären. Beachten Sie jedoch bitte, dass Probleme auftreten können, wenn die Dateien, auf die verwiesen wird, verschoben oder beschädigt werden. So können zum Beispiel Fehler bei der Makrospeicherung auftreten oder das Dialogfeld Verweise ist eventuell nicht mehr verfügbar.
In diesem Artikel wird beschrieben, wie Sie Verweise auf andere Microsoft Visual Basic für Applikationen-Projekte (VBA-Projekte) erstellen können, wie Sie überprüfen, ob die Verweise korrekt sind, und wie Sie fehlerhafte Verweise programmatisch entfernen. Die folgenden Vorkenntnisse sind erforderlich:-
Grundlegende Kenntnisse im Bereich VB-/VBA-Programmierung
-
Grundlegende Microsoft Office-Kenntnisse
-
Fähigkeiten im Umgang mit dem Windows-Explorer
In diesem Artikel verwenden Sie den Visual Basic-Editor für die folgenden Zwecke:
-
Zum Erstellen eines Verweises auf Ihr eigenes, benutzerdefiniertes VBA-Projekt.
-
Zum Schreiben eines Codes, mit dem überprüft wird, ob der Verweis wirklich existiert.
-
Zum Schreiben eines Codes, mit dem ein fehlerhafter Verweis entfernt wird.
-
Zum Schreiben eines Codes, mit dem der Verweis wieder hinzugefügt wird.
Festlegen der Sicherheitsstufe für das Projekt
-
In Microsoft Word zeigen Sie im Menü Extras auf Makro und klicken dann auf Sicherheit, um das Dialogfeld Sicherheit anzeigen zu lassen.
-
Auf der Registerkarte Sicherheitsstufe legen Sie die Sicherheitsstufe bitte auf Mittel fest, so dass Sie die Option haben, Ihre Makros zu aktivieren.
-
Stellen Sie auf der Registerkarte Vertrauenswürdige Quellen sicher, dass das Kontrollkästchen Zugriff auf Visual Basic-Projekt vertrauen aktiviert ist. Dadurch haben Sie die Möglichkeit, in Ihren Projekten VBA-Code zu verwenden.
-
Klicken Sie auf OK.
Erstellen des Projektverweises
Sie werden ein Projekt mit einer darin enthaltenen Prozedur erstellen und dann einen Verweis auf dieses Projekt von einem neuen VBA-Projekt aus anlegen. So erstellen Sie die Bibliotheksdatei:
-
Erstellen Sie ein neues Dokument in Microsoft Word und speichern Sie es dann wie folgt als Vorlage:
-
Klicken Sie im Menü Datei auf Speichern unter, um das Dialogfeld Speichern unter einzublenden.
-
Ändern Sie den Eintrag im Feld Dateiname zu Refme.
-
Ändern Sie den Eintrag unter Dateityp zu Dokumentvorlage (*.dot).
-
Speichern Sie die Vorlage im Ordner "C:\TestFiles" (falls er nicht bereits existiert, müssen Sie diesen Ordner anlegen).
-
-
Zeigen Sie im Menü Extras auf Makro und klicken Sie dann auf Visual Basic-Editor (oder betätigen Sie die Tastenkombination [Alt]+[F11]), um den Visual Basic-Editor zu starten.
-
Klicken Sie im Projekt-Explorer auf TemplateProject (Refme). Klicken Sie im Menü Einfügen auf Modul. Dadurch wird dem Projekt ein neues Modul mit dem Namen "Modul 1" hinzugefügt.
-
Fügen Sie den folgenden Code in das Codefenster von Modul 1 ein:
Public Sub CallMe()
Msgbox "Hello World!" End Sub -
Klicken Sie auf die Sub-Prozedur und dann im Menü Ausführen auf Sub/Benutzerformular ausführen. Jetzt wird die Meldung "Hello World!" angezeigt. Schließen Sie dieses Meldungsfeld.
-
Klicken Sie im Menü Ansicht auf Microsoft Word (ALT+F11), um wieder zu Word zu wechseln.
-
Speichern und schließen Sie die Vorlagendatei in Word.
Gehen Sie folgendermaßen vor, um den Verweis zu erstellen:
-
Erstellen Sie ein neues Dokument in Microsoft Word und speichern Sie es dann unter dem Namen "Myproj.doc" im Ordner "C:\TestFiles".
-
Drücken Sie [Alt]+[F11], um den Visual Basic-Editor zu starten. Klicken Sie im Projekt-Explorer auf Projekt (Myproj).
-
Erstellen Sie wie folgt einen Verweis auf die Vorlage "Refme":
-
Klicken Sie im Menü Extras auf Verweise.
-
Klicken Sie im Dialogfeld Verweise auf Durchsuchen.
-
Ändern Sie im Dialogfeld Verweis hinzufügen den Eintrag unter Dateityp zu Word-Dokumente (*.doc; *.dot).
-
Im Ordner "C:\TestFiles" markieren Sie bitte die Vorlage Refme.
-
Klicken Sie auf Öffnen, um wieder in das Dialogfeld Verweise zu gelangen.
-
Klicken Sie auf OK, um wieder in den Visual Basic-Editor zu wechseln.
-
-
Im Projekt-Explorer expandieren Sie das Element Projekt (Myproj). Klicken Sie auf Verweise und vergewissern Sie sich, dass es in der Liste der Verweise den Eintrag Verweis auf Refme.dot gibt.
-
Klicken Sie im Menü Einfügen auf Modul, um ein neues Modul in das Projekt einzufügen. Schreiben Sie den folgenden Code in das Modul, um die Prozedur "CallMe" aufzurufen:
Public Sub Test()
Call CallMe End Sub -
Testen Sie, ob die Prozedur funktioniert, und wechseln Sie dann wieder zurück zu Word.
-
Speichern und schließen Sie die Dokumentdatei. Beenden Sie anschließend Word.
Programmatische Überprüfung des Projektverweises
Sie werden jetzt absichtlich den Verweis aufheben und dann die Exaktheit Ihres Verweises testen. Gehen Sie folgendermaßen vor, um den Verweis aufzuheben:
-
Im Windows Explorer (klicken Sie mit der rechten Maustaste auf Start, und klicken Sie danach im Kontextmenü auf Durchsuchen) ändern Sie den Namen der Vorlage "Refme.dot" zu "Refme.old". Klicken Sie dazu mit der rechten Maustaste auf Refme.dot. Klicken Sie nun im Kontextmenü auf Umbenennen. Geben Sie refme.old ein und drücken Sie die [Eingabetaste].
-
Wechseln Sie wieder zu Word und öffnen Sie das Dokument "Myproj.doc" erneut.
-
Da Ihre Sicherheitsstufe auf Mittel festgelegt ist, werden Sie gefragt, ob Sie die Makros in diesem Dokument aktivieren oder deaktivieren möchten. Klicken Sie auf Makros aktivieren.
-
Drücken Sie [Alt]+[F11], um den Visual Basic-Editor zu starten, und führen Sie dann die Prozedur "Test" aus. Klicken Sie auf OK, wenn (sinngemäß) die folgende Fehlermeldung angezeigt wird:
Projekt oder Bibliothek nicht auffindbar.
-
Sie sollten sich im Unterbrechungsmodus befinden (gelbes Band um die Zeile "Sub"). Klicken Sie im Menü Ausführen auf Zurücksetzen, um wieder in den Entwurfsmodus zu gelangen.
-
Klicken Sie im Menü Extras auf Verweise, um das Dialogfeld Verweise anzeigen zu lassen. Sie sehen jetzt, dass "Refme.dot" als "fehlend" gekennzeichnet ist.
-
Klicken Sie auf Abbrechen, um das Dialogfeld Verweise zu schließen.
Gehen Sie folgendermaßen vor, um programmatisch nach fehlenden Verweisen zu suchen:
-
Klicken Sie im Projekt-Explorer auf Projekt (Myproj).
-
Klicken Sie im Menü Extras auf Verweise und fügen Sie anschließend einen Verweis auf die Bibliothek "Microsoft Visual Basic für Applikationen Extensibility 5.3" hinzu. Diese Bibliothek enthält Objekte, die sich auf VBA-Projekte beziehen.
-
Bevor Sie auf OK klicken, müssen Sie sich vergewissern, dass der neue Verweis oberhalb des "fehlenden" Verweises eingefügt wird. Klicken Sie mehrmals auf den Pfeil, um die Priorität zu ändern, bewegen Sie den neuen Verweis an die Position oberhalb des "fehlenden" Verweises und klicken Sie dann auf OK.
-
Erstellen Sie in dem Modul eine neue Sub-Prozedur mit dem Namen "CheckReference" und schreiben Sie dann den folgenden Code:
Sub CheckReference()
Dim vbProj As VBProject ' This refers to your VBA project. Dim chkRef As Reference ' A reference. ' Refer to the activedocument's VBA project. Set vbProj = ActiveDocument.VBProject ' Check through the selected references in the References dialog box. For Each chkRef In vbProj.References ' If the reference is broken, send the name to the Immediate Window. If chkRef.IsBroken Then Debug.Print chkRef.Name End If Next End Sub -
Klicken Sie im Menü Ansicht auf Direktfenster [Strg]+[G], um das Direktfenster zu öffnen.
-
Führen Sie die Sub-Prozedur "CheckReference" aus. Name und Speicherort der Datei werden im Direktfenster angezeigt.
Projektverweis entfernen und wiederherstellen
Dieser Abschnitt beschreibt, wie Sie einen Verweis programmatisch entfernen und wiederherstellen können. Gehen Sie folgendermaßen vor, um einen "fehlenden" Verweis zu entfernen:
-
Ändern Sie in der Sub-Prozedur "CheckReference" die Anweisung Debug.Print wie nachstehend beschrieben. Dadurch werden etwaige fehlende Verweise aus Ihrem Projekt entfernt:
vbProj.References.Remove chkRef
-
Führen Sie die Sub-Prozedur "CheckReference" aus.
-
Vergewissern Sie sich, dass der Verweis aus dem Dialogfeld Verweise entfernt wurde (klicken Sie im Menü Extras auf Verweise, um dieses Dialogfeld anzeigen zu lassen).
Gehen Sie folgendermaßen vor, um einen Verweis wiederherzustellen (hinzuzufügen):
-
Im Windows-Explorer ändern Sie den Namen von "Refme.old" wieder zu "Refme.dot".
-
Wechseln Sie wieder in das Projekt "Myproj" im Visual Basic-Editor von Word.
-
Schreiben Sie die folgende Sub-Prozedur mit dem Namen "AddReference":
Sub AddReference()
Dim vbProj as VBProject Set vbProj = ActiveDocument.VBProject vbProj.References.AddFromFile "C:\TestFiles\Refme.dot" End Sub -
Führen Sie die Sub-Prozedur "AddReference" aus.
-
Vergewissern Sie sich, dass der Verweis auf "Refme.dot" wiederhergestellt wurde. Sie können die Verweise entweder im Projekt-Explorer einsehen oder dazu im Menü Extras auf Verweise klicken.
Problembehandlung
-
Falls Sie einen Verweis auf eine zu einer bestimmten Anwendung gehörende Datei machen, sollten Sie die native Dateinamenerweiterung für diese Anwendung beibehalten. Andernfalls können bei der Verwendung des Verweises Probleme auftreten. Sie können diese Probleme reproduzieren, indem Sie in dem vorstehenden Beispiel einen Verweis auf die Datei "Refme.old" statt auf die Datei "Refme.dot" anlegen.
-
Falls Sie mit einer registrierten Komponente arbeiten, können Sie einen GUID-Verweis auf Ihr Projekt hinzufügen. Verwenden Sie dazu die Methode AddFromGUID.
Bitte beachten Sie: Bei diesem Artikel handelt es sich um eine Übersetzung aus dem Englischen. Es ist möglich, dass nachträgliche Änderungen bzw. Ergänzungen im englischen Originalartikel in dieser Übersetzung nicht berücksichtigt sind. Die in diesem Artikel enthaltenen Informationen basieren auf der/den englischsprachigen Produktversion(en). Die Richtigkeit dieser Informationen in Zusammenhang mit anderssprachigen Produktversionen wurde im Rahmen dieser Übersetzung nicht getestet. Microsoft stellt diese Informationen ohne Gewähr für Richtigkeit bzw. Funktionalität zur Verfügung und übernimmt auch keine Gewährleistung bezüglich der Vollständigkeit oder Richtigkeit der Übersetzung.