Dienstag, 25. Juli 2006
08:02 Uhr
08:02 Uhr
Excel Blattschutz aufheben - per VBA Makro Alternativpasswort ermitteln oder Passwort in Arbeitsmappe entfernen
PC-Welt berichtet von einer einfachen Weise den Microsoft Excel Blattschutz (Kennwort) mittels eines VB Makro aufzuheben.
--- BOF pcwBreaker.bas ----
Sub pcwBreaker()
Dim i As Integer, j As Integer, k As Integer
Dim l As Integer, m As Integer, n As Integer
Dim i1 As Integer, i2 As Integer, i3 As Integer
Dim i4 As Integer, i5 As Integer, i6 As Integer
On Error Resume Next
For i = 65 To 66: For j = 65 To 66: For k = 65 To 66
For l = 65 To 66: For m = 65 To 66: For i1 = 65 To 66
For i2 = 65 To 66: For i3 = 65 To 66: For i4 = 65 To 66
For i5 = 65 To 66: For i6 = 65 To 66: For n = 32 To 126
Kennwort = Chr(i) & Chr(j) & Chr(k) & Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
ActiveSheet.Unprotect Kennwort
If ActiveSheet.ProtectContents = False Then
MsgBox "Fertig" & vbcr & "Das alternative Kennwort lautet:" & vbcr & Kennwort
Exit Sub
End If
Next: Next: Next: Next: Next: Next
Next: Next: Next: Next: Next: Next
End Sub
--- EOF pcwBreaker.bas ----
Kurzanleitung:
Extras->Makro->VB editor
Einfügen des VBA
Extras->Makro-> pcwBreaker Makro ausführen.
Die Tabelle ist entsperrt und es wird ein alternatives Passwort ausgegeben, womit der Passwortschutz auch wieder aktiviert werden kann.
Alternativ kann dieses Makro wie im Artikel "Excel Umgang mit Makros und Visual Basic for Applications (VBA)" beschrieben in der persönlichen Makroarbeitsmappe hinterlegt werden.
Weitere sinnvolle Makros für die persönliche Makroarbeitsmappe
Insbesondere im Zusammenhang mit SAP könnte noch folgender Artikel Office Integration - Excelansicht in SAP und Daten kopieren nach Excel interessant sein, da hier noch einige andere sinnvolle Makros u.a. zur Umwandlung von Beträgen in der Form 7,50- nach - 7,50 und verschiedene andere Aspekte des Datenexports erläutert werden. Darüber hinaus könnte auch der Artikel Inhaltsverzeichnis in Excel über vorhandene Tabellenblätter nützlich sein.
In neueren Excelversionen ist dieses Makro allerdings nicht mehr funktionierend, da Microsoft den Hashwert bzw. Verschlüsselungsalgorithmus inklusive Salt verbessert hat.
Hier besteht aber noch die Möglichkeit das Passwort manuell komplett zu entfernen.
Seit der neuen Office Version handelt es sich bei DOCX, XLSX etc. nicht mehr um reine Dateien sondern im technischen Sinne um Container die mehrere Elemente enthalten (einzelne Dateien).
Ebenso wie im Artikel "Medien (bspw. Bilder) aus DOCX extrahieren" beschrieben können auch in Exceldateien nun einzelne Elemente des Containers entpackt oder auch bearbeitet werden. Entsprechend kann die XLSX Datei als ZIP umbenannt werden und innerhalb der Unterordner
die einzelnen Tabellenblätter sheet*.xml mit einen Texteditor bearbeitet werden. Hier ist dann auch sowohl Hashwert als auch Salt in der XML Datei gespeichert. Um nun das Passwort zu entfernen reicht es aus die Attribute des Tags sheetprotection zu entfernen.
Sollte die gesamte Arbeitsmappe mit einen Passwort verschlüsselt sein, kann hier in der Datei workbook.xml mit den Tag workbookprotection ebenso verfahren werden. Danach ist das Passwort entfernt und der Blatt- bzw. Arbeitsmappenschutz kann aufgehoben werden.
Hinweis: Aktuelle Buchempfehlungen besonders SAP Fachbücher sind unter Buchempfehlungen inklusive ausführlicher Rezenssionenzu finden. Mein Weiterbildungsangebot zu SAP Themen finden Sie auf unkelbach.expert.
--- BOF pcwBreaker.bas ----
Sub pcwBreaker()
Dim i As Integer, j As Integer, k As Integer
Dim l As Integer, m As Integer, n As Integer
Dim i1 As Integer, i2 As Integer, i3 As Integer
Dim i4 As Integer, i5 As Integer, i6 As Integer
On Error Resume Next
For i = 65 To 66: For j = 65 To 66: For k = 65 To 66
For l = 65 To 66: For m = 65 To 66: For i1 = 65 To 66
For i2 = 65 To 66: For i3 = 65 To 66: For i4 = 65 To 66
For i5 = 65 To 66: For i6 = 65 To 66: For n = 32 To 126
Kennwort = Chr(i) & Chr(j) & Chr(k) & Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
ActiveSheet.Unprotect Kennwort
If ActiveSheet.ProtectContents = False Then
MsgBox "Fertig" & vbcr & "Das alternative Kennwort lautet:" & vbcr & Kennwort
Exit Sub
End If
Next: Next: Next: Next: Next: Next
Next: Next: Next: Next: Next: Next
End Sub
--- EOF pcwBreaker.bas ----
Kurzanleitung:
Extras->Makro->VB editor
Einfügen des VBA
Extras->Makro-> pcwBreaker Makro ausführen.
Die Tabelle ist entsperrt und es wird ein alternatives Passwort ausgegeben, womit der Passwortschutz auch wieder aktiviert werden kann.
Alternativ kann dieses Makro wie im Artikel "Excel Umgang mit Makros und Visual Basic for Applications (VBA)" beschrieben in der persönlichen Makroarbeitsmappe hinterlegt werden.
Weitere sinnvolle Makros für die persönliche Makroarbeitsmappe
Insbesondere im Zusammenhang mit SAP könnte noch folgender Artikel Office Integration - Excelansicht in SAP und Daten kopieren nach Excel interessant sein, da hier noch einige andere sinnvolle Makros u.a. zur Umwandlung von Beträgen in der Form 7,50- nach - 7,50 und verschiedene andere Aspekte des Datenexports erläutert werden. Darüber hinaus könnte auch der Artikel Inhaltsverzeichnis in Excel über vorhandene Tabellenblätter nützlich sein.
Nachtrag Blattschutz in aktuelle Excel Version aufheben (XLSX)
In neueren Excelversionen ist dieses Makro allerdings nicht mehr funktionierend, da Microsoft den Hashwert bzw. Verschlüsselungsalgorithmus inklusive Salt verbessert hat.
Hier besteht aber noch die Möglichkeit das Passwort manuell komplett zu entfernen.
Seit der neuen Office Version handelt es sich bei DOCX, XLSX etc. nicht mehr um reine Dateien sondern im technischen Sinne um Container die mehrere Elemente enthalten (einzelne Dateien).
Ebenso wie im Artikel "Medien (bspw. Bilder) aus DOCX extrahieren" beschrieben können auch in Exceldateien nun einzelne Elemente des Containers entpackt oder auch bearbeitet werden. Entsprechend kann die XLSX Datei als ZIP umbenannt werden und innerhalb der Unterordner
- XL
- worksheet
die einzelnen Tabellenblätter sheet*.xml mit einen Texteditor bearbeitet werden. Hier ist dann auch sowohl Hashwert als auch Salt in der XML Datei gespeichert. Um nun das Passwort zu entfernen reicht es aus die Attribute des Tags sheetprotection zu entfernen.
Sollte die gesamte Arbeitsmappe mit einen Passwort verschlüsselt sein, kann hier in der Datei workbook.xml mit den Tag workbookprotection ebenso verfahren werden. Danach ist das Passwort entfernt und der Blatt- bzw. Arbeitsmappenschutz kann aufgehoben werden.
ein Angebot von Espresso Tutorials
unkelbach.link/et.books/
unkelbach.link/et.reportpainter/
unkelbach.link/et.migrationscockpit/
Diesen Artikel zitieren:
Unkelbach, Andreas: »Excel Blattschutz aufheben - per VBA Makro Alternativpasswort ermitteln oder Passwort in Arbeitsmappe entfernen« in Andreas Unkelbach Blog (ISSN: 2701-6242) vom 25.7.2006, Online-Publikation: https://www.andreas-unkelbach.de/blog/?go=show&id=208 (Abgerufen am 21.12.2024)
2 Kommentare - Permalink - Office
Artikel datenschutzfreundlich teilen
🌎 Facebook 🌎 Twitter 🌎 LinkedIn