it-swarm.com.de

Kennwort aus einem VBA-Projekt entfernen

Wie kann ich ein (bekanntes) Kennwort programmgesteuert aus einem Excel VBA-Projekt entfernen?

Um es klar auszudrücken: Ich möchte das Kennwort aus dem VBA-Projekt entfernen, nicht aus der Arbeitsmappe oder Arbeitsblättern.

49
Barry-Jon

Das hat eine einfache Methode, die SendKeys verwendet, um den Schutz des VBA-Projekts aufzuheben. Dies würde Sie in das Projekt einbinden, sodass Sie weiterhin SendKeys verwenden müssen, um eine Möglichkeit zum Entfernen des Kennwortschutzes zu finden: http://www.pcreview.co.uk/forums/thread-989191) .php

Und hier ist eine, die eine fortgeschrittenere, etwas zuverlässigere Methode zum Aufheben des Schutzes verwendet. Auch hier wird nur das VB Projekt für Sie freigeschaltet. http://www.ozgrid.com/forum/showthread.php?t=13006&page=2

Ich habe keine der beiden Methoden ausprobiert, aber dies kann Ihnen Zeit sparen, wenn Sie dies tun müssen ...

9
Jon Fournier

Eine andere Möglichkeit zum Entfernen des VBA-Projektkennworts ist:

  • Öffnen Sie die XLS-Datei mit einem Hex-Editor. (zB Hex Edit http://www.hexedit.com/ )
  • Suchen Sie nach DPB
  • Ersetzen Sie DPB durch DPx
  • Datei speichern.
  • Datei in Excel öffnen.
  • Klicken Sie auf "Ja", wenn Sie ein Meldungsfeld erhalten.
  • Legen Sie in den VBA-Projekteigenschaften ein neues Kennwort fest.
  • Schließen Sie die Datei und öffnen Sie sie erneut. Geben Sie dann Ihr neues Kennwort ein, um den Schutz aufzuheben.

UPDATE: Für Excel 2010 (funktioniert für MS Office Pro Plus 2010 [14.0.6023.1000 64bit])

  • Öffnen Sie die XLSX-Datei mit 7Zip

Wenn die Arbeitsmappe geschützt ist:

  • Durchsuchen Sie den Ordner xl
  • Wenn die Arbeitsmappe geschützt ist, klicken Sie mit der rechten Maustaste auf workbook.xml und wählen Sie Bearbeiten
  • Finden Sie den Teil <workbookProtection workbookPassword="XXXX" lockStructure="1"/> (XXXX ist Ihr verschlüsseltes Passwort)
  • XXXX Teil entfernen. (dh <workbookProtection workbookPassword="" lockStructure="1"/>)
  • Speicher die Datei.
  • Wenn 7Zip Sie auffordert, das Archiv zu aktualisieren, sagen Sie Ja.
  • Schließen Sie 7Zip und öffnen Sie Ihre XLSX erneut.
  • Klicken Sie auf die Registerkarte Arbeitsmappe schützen auf Überprüfen.
  • Optional: Speichern Sie Ihre Datei.

Wenn Arbeitsblätter geschützt sind:

  • Blättern Sie zu xl/worksheets/ Mappe.
  • Klicken Sie mit der rechten Maustaste auf das Sheet1.xml, sheet2.xml, etc und wähle Edit.
  • Finden Sie den Teil <sheetProtection password="XXXX" sheet="1" objects="1" scenarios="1" />
  • Entfernen Sie das verschlüsselte Passwort (zB <sheetProtection password="" sheet="1" objects="1" scenarios="1" />)
  • Speicher die Datei.
  • Wenn 7Zip Sie auffordert, das Archiv zu aktualisieren, sagen Sie Ja.
  • Schließen Sie 7Zip und öffnen Sie Ihre XLSX erneut.
  • Klicken Sie auf Unprotect Sheet auf Review.
  • Optional: Speichern Sie Ihre Datei.
112
Uygar Y

Ich habe einen anderen Weg gefunden, diesen zu lösen, um das Passwort von VBA Project zu vermeiden, ohne das Excel-Passwort zu verlieren.

benutze Hex-Editor XVI32 für den Prozess

wenn der Dateityp XLSM-Dateien ist:

  1. Öffnen Sie die XLSM-Datei mit 7-Zip (Rechtsklick -> 7-Zip -> Archiv öffnen).
  2. Kopieren Sie die Datei xl/vbaProject.bin aus der Datei (Sie können sie per Drag & Drop aus 7-Zip ziehen). Schließen Sie 7-Zip nicht
  3. Öffnen Sie die Datei vbaProject.bin mit HexEdit
  4. Suchen Sie nach "DPB =" und ersetzen Sie es durch "DPx ="
  5. Speicher die Datei
  6. Kopieren Sie diese Datei zurück in 7-Zip (wieder funktioniert Drag & Drop)
  7. Öffnen Sie die XLSX-Datei in Excel, und klicken Sie auf "Ja", wenn Sie dazu aufgefordert werden. Wenn Sie dazu aufgefordert werden, klicken Sie auf OK.
  8. Drücken Sie Alt + F11, um den VBA-Editor zu öffnen.
  9. Wenn Sie auf drücken, wird der Fehler "Unerwarteter Fehler (40230)" angezeigt. Klicken Sie einfach sechs- oder siebenmal auf OK, bis der Fehler behoben ist.
  10. Dann wird es automatisch geöffnet
12

Ich fand dieses hier , das beschreibt, wie man das VBA-Projekt-Kennwort einstellt. Sie sollten es ändern können, um das VBA-Projektkennwort zu löschen.

Dieser verwendet keine SendKeys.

Lassen Sie mich wissen, ob das hilft! JFV

2
JFV