Programmatischer Zugriff auf das Office VBA-Projekt wird verweigert

Gilt für: Office Products

Dieser Artikel ist eine Übersetzung des folgenden englischsprachigen Artikels der Microsoft Knowledge Base:
282830 Programmatic access to Office VBA project is denied

Problembeschreibung


Bei Code, der geschrieben wird, um eine Office-Anwendung zu automatisieren und die Microsoft Visual Basic für Applikationen (VBA)-Umgebung und das VBA-Objektmodell zu ändern, tritt möglicherweise bei Office ein Fehler auf, und es wird eine der folgenden Fehlermeldungen angezeigt:

Von Visual Basic oder VBA:
Laufzeitfehler '6068': Dem programmatischen Zugriff auf das Visual Basic-Projekt wird nicht vertraut.
Von Microsoft Visual C++, Microsoft Foundation Classes (MFC) oder ActiveX Template Library (ATL):
HRESULT = 0x800A17B4 (-2146822220) "Dem programmatischen Zugriff auf das Visual Basic-Projekt wird nicht vertraut."
Derselbe Code funktioniert ohne Fehler auf Computern mit Office 97 und Office 2000.

Ursache


Office fügt eine Sicherheitsoption hinzu, um programmatischen Zugriff auf das VBA-Objektmodell von jedem Automatisierungsclient aus absichtlich zu sperren, es sei denn, ein Benutzer möchte solche Zugriffe zulassen. Dies ist eine Einstellung, die pro Benutzer und pro Anwendung gilt und Zugriffe standardmäßig verweigert.

Diese Sicherheitsoption macht es für nicht autorisierte Programme schwieriger, "selbstreplizierenden" Code zu erstellen, der Endbenutzersysteme beschädigen kann.

Lösung


Damit jeder Automatisierungsclient programmatisch auf das VBA-Objektmodell zugreifen kann, muss der Benutzer, der den Code ausführt, explizit den Zugriff gewähren. Gehen Sie folgendermaßen vor, um den Zugriff zu aktivieren:

Office 2003 und Office XP

  1. Öffnen Sie die jeweilige Office 2003- oder Office XP-Anwendung. Klicken Sie im Menü Extras auf Makro, und klicken Sie dann auf Sicherheit, um das Dialogfeld Sicherheit zu öffnen.
  2. Aktivieren Sie auf der Registerkarte Vertrauenswürdige Quellen das Kontrollkästchen Zugriff auf Visual Basic-Projekt vertrauen.
  3. Klicken Sie auf OK, um die Einstellung anzuwenden. Sie müssen die Anwendung möglicherweise neu starten, damit der Code ordnungsgemäß ausgeführt wird, wenn Sie von einem COM-Add-In oder einer COM-Vorlage (COM = Component Object Model) aus automatisieren.

Office 2007

  1. Öffnen Sie die jeweilige 2007 Microsoft Office System-Anwendung. Klicken Sie auf die Microsoft Office-Schaltfläche, und klicken Sie anschließend auf Anwendungsname-Optionen.
  2. Klicken Sie auf Vertrauensstellungscenter und danach auf Einstellungen für das Vertrauensstellungscenter.
  3. Klicken Sie auf die Registerkarte Makroeinstellungen, aktivieren Sie das Kontrollkästchen Zugriff auf das VBA-Projektobjektmodell vertrauen, und klicken Sie anschließend auf OK.
  4. Klicken Sie auf OK.
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.