So umgehen Sie das VBA-Projektkennwort in Excel

40

Ich benötige Hilfe beim Abrufen des Kennworts oder beim Umgehen des Kennworts für ein Projekt, das bei der Arbeit ausgeführt wurde. Der Autor hat das Projekt mit MS Excel erstellt und es befindet sich auf dem Server des Clients. Der von uns verwendete Server hat keinen Zugriff auf Notepad ++.

user365483
quelle
Karan, danke. Das Problem lag nicht am Excel-Dokument, aber ich kann den Code, der von einem anderen Mitarbeiter erstellt wurde, nicht anzeigen. Es ist auf der VB Ide, die ich durch Excel verwenden kann
user365483
OK, wenn die Excel-Arbeitsmappe selbst nicht kennwortgeschützt ist und nur das darin enthaltene VBA-Projekt vorhanden ist, siehe unten.
Karan
Ich kann keinen Hex-Editor installieren und die Datei ist eine XLSM-Datei. Karan I, es wäre schön, wenn es eine Alternative gibt
user365483

Antworten:

62

Für ältere XLS-Dateien:

  1. Öffnen Sie die Datei in einem beliebigen Hex-Editor

  2. Suchen Sie nach dem Text " DPB = " (keine Anführungszeichen, Sie sollten ihn direkt über "[Host Extender Info]" finden.

    1

  3. Ändern Sie es in " DPx = ", speichern und schließen Sie die Datei

    2

  4. Öffnen Sie die Datei in Excel und drücken Sie Ja, wenn die folgende Warnung angezeigt wird:

    3

  5. Öffnen Sie den VBA-Editor ( Alt+ F11) und drücken Sie OK, wenn die folgende Warnung angezeigt wird:

    4

  6. Klicken Sie mit der rechten Maustaste auf den Namen des VBA-Projekts, wählen Sie Eigenschaften , wechseln Sie zur Registerkarte Schutz, und löschen Sie die vorhandenen Kennwörter. Deaktivieren Sie das Kontrollkästchen Projekt zum Anzeigen sperren:

    5

  7. Aktivieren Sie das Kontrollkästchen Projekt zum Anzeigen sperren erneut und fügen Sie Ihr eigenes Kennwort hinzu.

  8. OK, und jetzt ist der VBA-Code verfügbar!

Für neuere XLSM-Dateien:

  1. Ändern Sie die Dateierweiterung in .ZIP

  2. Öffnen Sie die Datei in einem beliebigen Archiv wie WinRAR oder 7-Zip. Die folgende Verzeichnisstruktur wird angezeigt:

    6

  3. Gehe in das xl Verzeichnis und extrahiere vbaProject.bin :

    7

  4. Führen Sie die obigen Schritte 1 bis 3 ( im Abschnitt Für ältere XLS-Dateien ) mit vbaProject.bin aus

  5. Ersetzen Sie die alte Datei vbaProject.bin in der ZIP-Datei durch die neue hexadezimal bearbeitete Version

  6. Ändern Sie die Dateierweiterung wieder in .XLSM

  7. Führen Sie die obigen Schritte 4 bis 7 aus

Karan
quelle
Funktioniert dies für MS Office 2013 mit den älteren Dateien? Ich habe den Eindruck, dass Microsoft dies gepatcht hat.
Menelaos Bakopoulos
2
Als ich diese Methode in Office 2010 und 2013 ausprobierte, funktionierte sie nicht direkt. Nachdem ich alle Schritte ausgeführt hatte, konnte ich die Makros nicht anzeigen. Dann habe ich versucht, das Makro als .bas zu exportieren. Ich konnte das Makro herausholen und es anzeigen.
Abbas
Dies wurde mit Office 2010 getestet und von dort stammen die Screenshots. Auch für diejenigen, die keinen Hex-Editor installieren können, gibt es viele tragbare.
Karan
1
Funktioniert auch für .xlam-Dateien. +1
João Mendes
Ich habe alle Schritte befolgt, aber nachdem ich in der Warnung auf OK geklickt habe, wird eine neue Eingabeaufforderung mit den Optionen "Öffnen und reparieren" oder "Abbrechen" angezeigt. Wenn ich auf Abbrechen drücke, wird es geschlossen. Wenn ich auf Öffnen und Reparieren drücke, werden alle Makros gelöscht. Ich verwende Excel 2011 für Mac. Hat dies jemand anderes erlebt und gibt es eine Problemumgehung?
user658182