Die Tippfarm

Tipp 969: Signieren eines VBA-Projekts

VBA-ProgrammiererInnen ärgern sich immer wieder über das Office-Sicherheitssystem. Sobald eine Office-Datei VBA-Code enthält, können darin Makrovieren versteckt sein. Microsoft hat daher Sicherheitsstufen eingebaut:

Sicherheitsstufe Office 2003 Office 2007/10
Sehr hoch Nur Makros, die in vertrauenswürdigen Speicherorten installiert sind, dürfen ausgeführt werden. Alle anderen signierten und nicht signierten Makros sind deaktiviert. Alle Makros ohne Benachrichtigung deaktivieren.
Hoch Nur signierte Makros aus vertrauenswürdigen Quellen dürfen ausgeführt werden. Nicht signierte Makros werden automatisch deaktiviert. Alle Makros mit Benachrichtigung deaktivieren.
Mittel Sie können auswählen, ob Sie nicht sichere Makros ausführen möchten. Alle Makros außer digital signierten Makros deaktivieren.
Niedrig (nicht empfohlen). Sie sind vor nicht sicheren Makros nicht geschützt. Verwenden Sie dies Einstellung nur, wenn Sie Software zur Virenprüfung installiert haben, oder wenn Sie die Sicherheit aller zu öffnenden Dokumente überprüft haben. Alle Makros aktivieren (nicht empfohlen).

Stellen Sie jetzt die Sicherheitsstufe auf Niedrig, können zwar alle VBA-Makros problemlos ausgeführt werden, aber Sie durchlöchern damit auch das Office-Sicherheitssystem. Es kann natürlich auch jede datei aus unbekannter Quelle geöffnet und die enthaltenen Makros ausgeführt werden, Schadprogramme inklusive!

Sie sollten daher ein Zertifikat auf Ihrem System installieren und Ihre VBA-Projekte digital signieren. Derartig gekennzeichntete Projekte werden automatisch als vertrauenswürdig eingestuft und ohne Rückfrage ausgeführt. Sie können also die Sicherheitsstufe "Hoch" einstellen, ohne Ihr Projekt nach dem Start immer erst eine Sicherheitsabfrage bestätigen zu müssen.

So generieren Sie ein Signaturzertifikat

Zuerst benötigen Sie ein Signaturzertifikat. Das können Sie kaufen. Sie können aber auch mit Office-Bordmitteln selbst ein sicheres Zertifkat erstellen:

  • Starten Sie das Programm "SELFCERT.EXE" im Office-Programmverzeichnis (meist "C:\Programme\Microsoft Office\Office11" (bzw. "\Office12" oder "\Office14")
  • Im Textfeld Ihr Zertifikatsname geben Sie Ihren Namen oder den Ihrer Firma an.
  • Zweimal OK, Ihr Zertifikat ist fertig und auch im System registriert, somit einsatzbereit.

So signieren Sie ein VBA-Projekt

  • Wechseln Sie in Ihrem Dokument mit + in die VBA-Umgebung.
  • Markieren Sie im Projekt-Explorer (Leiste links) Ihr Projekt.
  • Menü Extras - Digitale Signatur….
  • Im folgenden Dialog klicken Sie auf Wählen und bestätigen dann Ihr Zertifikat.
  • Speichern und Datei schließen.
  • Beim nächsten Öffnen der Datei erscheint unter Excel 2003 ein Verweis auf die digitale Signatur, unter Excel 2007/10 die Leiste Sicherheitswarnung - Makros wurden deaktiviert.
  • Aktivieren Sie unter Excel 2003 Dateien von dieser Quelle immer vertrauen und automatisch öffnen bzw. unter Excel 2007/10 Allen Dokumenten von diesem Herausgeber vertrauen.

Damit werden in Zukunft alle Office-Dateien mit VBA-Projekten, die mit Ihrem Zertifikat signiert sind, ohne Sicherheitsabfrage geöffnet.

Unser Tipp 970: Der Signatur eines VBA-Projektes vertrauen zeigt Ihnen, wie Sie diese Signatur auf einem Fremdcomputer anwenden.

Tipp getestet unter Hard-, Software, IT-Security 2003, 2007, 2010

Eingestellt: 22.04.10 - Update: 01.03.2012 - Abrufe: 28.061