Passwort mit Visual Basic im Excel

  • geschlossen
  • Excel

  • APPD
  • 2171 Aufrufe 6 Antworten

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Passwort mit Visual Basic im Excel

    Hallo Excelprofis,

    ich hatte heute schon folgendes Problem nachdem ich 2 Stunden an einer Arbeitsmappe gesessen bin:

    ich wollte einer Befehlsschaltfläche ein Makro zum Schützen von Arbeitsblatt und Arbeitsmappe zuweisen. Da ich das Ganze aber mit Passwort schützen wollte, habe ich (als VisualBasic-Neuling) folgende Zeilen geändert:
    ActiveSheet.Protect Passwort:=xyz, Structure:=True ...

    Das ging dann nicht und dann habe ich folgendes probiert:
    ActiveSheet.Protect Passwort:=True, Structure:=True ...

    und dann hats funktioniert, ich konnte nur den Blattschutz nicht mehr aufheben, weil ich das richtige Passwort nicht wusste! Also blieb mir nichts anderes übrig als die nicht gespeicherten 2 stunden zu verwerfen... :mad: :depp: :mad:

    Bitte um Hilfe zur künftigen Vermeidung solcher Missgeschicke!!

    APPD
  • Bitte um Hilfe zur künftigen Vermeidung solcher Missgeschicke!!

    Falls du das wirklich so meinst, wie es da geschrieben steht: Speichere die Datei vor jedem kritischen Schritt unter einem anderen Namen ab, dann kannst du immer die letzte funktionierende Version aufrufen.

    Greetz
    cpt. Nemo
    Internette Grüße
    von der Nautilus
    cpt. Nemo
  • ja ok, du hast recht, so kann man meine Frage auch deuten. Ich werds das nächste mal speichern... :löl:


    Was ich aber meinte ist eine Lösung, wie ich Blatt und Arbeitsmappe mit dem Passwort "xyz" nur durch Tastendurck (Befehlsschaltfläche mit Makro) und auch ohne Eingabe des selbigen schützen kann. Ich denke ich war mit meinem Ansatz oben schon auf dem richtigen Weg...

    APPD
  • Ach so ...

    Quellcode

    1. Option Explicit
    2. Sub Blatt_und_Mappe_Schutz()
    3. '
    4. ' Arbeitsblatt und -Mappe schützen mit verschiedenen Passworten
    5. ' Gleichen PW ist zu unsicher
    6. ' ... und immer schön merken! :-)
    7. ' (Oder mit Alt-F11 dieses Makro auch bei Schutz=EIN ansehen :-( )
    8. '
    9. Dim Pw1 As String
    10. Dim Pw2 As String
    11. Pw1 = "ABCDEF"
    12. Pw2 = "UVWXYZ"
    13. ActiveSheet.Protect Pw1, DrawingObjects:=True, Contents:=True, Scenarios:=True
    14. ActiveWorkbook.Protect Pw2, Structure:=True, Windows:=False
    15. End Sub
    Alles anzeigen


    Dann eine Schaltfläche einfügen und dieser das Makro Blatt_und_Mappe_Schutz zuweisen. Das war's dann auch schon. Und wie oben auch schon im einleitenden Kommentar steht, auch im geschützten Zustand kannst du dir den Code ansehen und das entsprechende PW wieder rauskriegen. (Das hätte dir vielleicht einiges an doppelter Arbeit erspart, oder?)
    Internette Grüße
    von der Nautilus
    cpt. Nemo
  • aha, ALT+F11 wäre die nötige Kombination gewesen... :(
    da ich totaler VBA-Neuling bin, habe ich die meisten kniffe noch nicht drauf, aber dein code hilft mir mit sicherheit um einiges weiter.
    Wenn ich das jetzt richtig deute, ist alles vor dem ersten Komma als Passwort zu sehen. Mein Passwort wäre also "Passwort:=True" gewesen, oder doch nicht?
    Auf jedenfall erstmal danke für deine Hilfe!!

    EDIT: Das mit ALT+F11 ist gut und recht, aber ich werd dem Ganzen einfach durch Passwortschutz von VBA-Project zuvor kommen :P :cool:
  • Hallo APPD,

    APPD schrieb:

    aha, ALT+F11 wäre die nötige Kombination gewesen... :(
    da ich totaler VBA-Neuling bin, habe ich die meisten kniffe noch nicht drauf, aber dein code hilft mir mit sicherheit um einiges weiter.

    Bestimmt.
    Wenn ich das jetzt richtig deute, ist alles vor dem ersten Komma als Passwort zu sehen. Mein Passwort wäre also "Passwort:=True" gewesen, oder doch nicht?
    Nein, mit dieser Anweisung sagst du Excel, dass das PW "True" (ohne Anführungen) sein soll. Und das gibt sowieso Probleme, das TRUE ein reservierter Begriff ist. An dem := erkennst du eine Zuweisung an einen reservierten Begriff, hier Password (mit d). Wenn du es tatsächlich mit t geschrieben hast, kann da nur Murks :) rauskommen, weil das eigentliche PW in Anführungen eingegeben werden muss. siehe auch mein Code (PW1 und PW2, beides Variablen).
    Auf jedenfall erstmal danke für deine Hilfe!!

    EDIT: Das mit ALT+F11 ist gut und recht, aber ich werd dem Ganzen einfach durch Passwortschutz von VBA-Project zuvor kommen :P :cool:

    Nicht dafür! Und du bist lernfähig, wie ich an deinem Vorschlag für den Schutz des Sourcecodes sehe!
    Internette Grüße
    von der Nautilus
    cpt. Nemo
  • Und du bist lernfähig, wie ich an deinem Vorschlag für den Schutz des Sourcecodes sehe!

    naja ich meine, wenn jemand mit VBA was bezwecken will, dann kann man ein bisschen Interesse an der Sache wohl voraussetzen... ;)