Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Öffnen der Datei mit Passwort schützen

Öffnen der Datei mit Passwort schützen
28.05.2017 22:13:34
Kisska
Schönen Abend allerseits,
den Öffnungs-Schutz kann man ja einstellen, wenn auf "Speichern unter" geht und da die entsprechende Option wählt.
Ich würde gerne dies mittels VBA lösen.
Hier in Forum habe ich diesen Code gefunden:

Option Explicit
Private Sub Workbook_Open()
Dim strPasswortVorhanden$, strPasswortEingabe$
On Error GoTo ende
strPasswortVorhanden = "Passwort"
strPasswortEingabe = InputBox("Bitte geben Sie das Passwort ein:", "Passwort")
If strPasswortVorhanden  strPasswortEingabe Then GoTo schließen
GoTo ende
schließen:
MsgBox "Die datei wird aufgrund eines falschen Passwortes geschlossen!"
'ohne rückfrage speichern
Application.DisplayAlerts = False
ActiveWorkbook.Close
Application.DisplayAlerts = True
ende:
End Sub
In dieser VBA-Lösung sieht man aber bereits beim Öffnen die gesamten Tabellenblätter.
Kann man die verstecken bzw. die Datei genauso so schützen wie über die Option von "Speichern unter" ?
Viele Grüße
Kisska
Anzeige

16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Öffnen der Datei mit Passwort schützen
29.05.2017 08:20:15
MCO
Moin!
Wie wäre es denn, wenn du die dafür vorgesehen Funktion nutzt?
Gehe in "Datei speichern unter" [oder F12] unten rechts auf "Tools", dann auf "Allgemeine Optionen".
Hier kannst du Lese- und Schreibschutz einstellen.
Gruß, MCO
AW: Öffnen der Datei mit Passwort schützen
29.05.2017 08:56:52
Dieter(Drummer)
Hallo Kisska,
nur ein Tipp: Wenn du bei "Private Sub Workbook_Open()", diese Zeile noch einfügst, dann wird das aktive Tabellenblatt nur noch links unten zu sehen sein und nach Passworteingabe kann es ja dann wieder groß gemacht werden:
Private Sub Workbook_Open()
ActiveWindow.WindowState = xlMinimized
...

Gruß,
Dieter(Drummer)
Anzeige
Genau das Richtige !
29.05.2017 10:47:25
Kisska
Hallo Dieter,
du bist ein Schatz! Danke!
Ist zwar nur ein Schnickschnack, aber kann sich die Arbeitsmappe automatisch maximieren, wenn das Passwort korrekt eingegeben ist?
Liebe Grüße
Kisska
AW: Genau das Richtige !
29.05.2017 12:06:11
Dieter(Drummer)
Hallo Kisska,
im Modul einsetzen, nach richtigem Passwort:

ActiveWindow.WindowState = xlMaximized

Dann wird es wieder maximiert.
Gruß, Dieter(Drummer)
Anzeige
Kompilier-Fehler
29.05.2017 13:29:04
Kisska
Hallo Dieter,
ich bekomme leider diesen Fehler angezeigt:
"Fehler beim Kompilieren. Außerhalb einer Prozedur ungültig."
Nach diesem Fehler wird die Datei ganz normal angezeigt ohne dass ich Passwort eingeben muss.
VG
Kisska
AW: Kompilier-Fehler
29.05.2017 14:37:23
Dieter(Drummer)
Hallo Kisska,
hier mal dein jetziger Code (fette Zeilen beachten!), der bei mir funktioniert:
Private Sub Workbook_Open()
ActiveWindow.WindowState = xlMinimized
Dim strPasswortVorhanden$, strPasswortEingabe$
On Error GoTo ende
strPasswortVorhanden = "Passwort"
strPasswortEingabe = InputBox("Bitte geben Sie das Passwort ein:", "Passwort")
If strPasswortVorhanden  strPasswortEingabe Then GoTo schließen
ActiveWindow.WindowState = xlMaximized
GoTo ende
schließen:
MsgBox "Die datei wird aufgrund eines falschen Passwortes geschlossen!"
'ohne rückfrage speichern
Application.DisplayAlerts = False
ActiveWorkbook.Close
Application.DisplayAlerts = True
ende:
End Sub

Gruß, Dieter(Drummer)
Anzeige
Maximierung klappt! Aber ...
29.05.2017 15:26:41
Kisska
Danke Dieter, jetzt klappt die Maximierung!
Sorry, wenn ich deine Tipps nicht wie gedacht umsetzte, ich kenne mich leider mit VBA gar nicht aus, aber ich hab's mir vorgenommen die Grundlagen zu lernen :)
Mir ist ein Fehler aufgefallen:
Der Schutz funktioniert ganz gut, wenn man nur die Datei aufruft.
Wenn man bspw. Excel aufmacht (eine neue Datei oder eine beliebige Datei) und dann die kennwortgeschützte Datei und bei der ein falsches Passwort eingibt, dann kommt zwar die nette Meldung, dass die Datei geschlossen wird, aber die Datei schließt sich gar nicht, sondern bleibt minimiert und lässt sich manuell ohne Passwort öffnen :) Wie kann man das umgehen?
VG
Kisska
Anzeige
AW: Maximierung klappt! Aber ...
29.05.2017 16:06:28
Dieter(Drummer)
Hallo Kisska,
so müsste es gehen:
Private Sub Workbook_Open()
ActiveWindow.WindowState = xlMinimized
Dim strPasswortVorhanden$, strPasswortEingabe$
On Error GoTo ende
strPasswortVorhanden = "Passwort" 'Kann auch anders eingesetzt werden
strPasswortEingabe = InputBox("Bitte geben Sie das Passwort ein:", "Passwort")
If strPasswortVorhanden  strPasswortEingabe Then GoTo schließen
ActiveWindow.WindowState = xlMaximized
GoTo ende
schließen:
MsgBox "Die datei wird aufgrund eines falschen Passwortes geschlossen!"
'ohne rückfrage speichern
Application.DisplayAlerts = False
Workbooks("Passwort.xlsm").Close SaveChanges:=False 'Bei falschem PW wird Datei ohne Ä _
nderung geschlossen.
Application.DisplayAlerts = True
ende:
End Sub

Achtung: Worbooks Name, hier "Passwort.xlsm", muss natürlich der Name deiner Datei sein!
Bei meinem Test funktioniert es auch, wenn ich eine Datei geöffnet habe und dann die PW-Date mit Passwort öffne. Wird ein falsches PW eingegeben, wird die PW-Datei ohne Änderung geschlossen.
Gruß, Dieter(Drummer)
PS Bin kein VBA Könner ...
Anzeige
Ohne Dateinamen?
29.05.2017 16:21:16
Kisska
Hmm, das wird schwierig. Der Name meiner Datei ist relativ lang und kompliziert gebaut und von der Datei werden ständig neue Versionen abgelegt als Kopie.
Kann man es ohne den Dateinamen lösen?
VG
Kisska
schau mal nach:ThisWorkbook.Close.....kwT
29.05.2017 16:42:56
robert
Klappt! Problem wenn Makros deaktiviert
29.05.2017 17:07:08
Kisska
Danke für den Tipp! Es klappt!
Aaaaber ... wenn ich die Datei öffne, sind Makros zunächst deaktiviert und der Schutz erfolgt erst, wenn Makos wieder aktiviert werden.
Was kann man da tun?
Anzeige
AW: Ohne Dateinamen?
29.05.2017 17:03:31
Dieter(Drummer)
Hallo Kisska,
habe hier mal robert's Vorschlag umgesetzt und es funktionert.
Ersetze:

Workbooks("Passwort.xlsm").Close savechanges:=False

Durch 2 Zeilen:
ThisWorkbook.Save
ThisWorkbook.Close savechanges:=False

Dann gehts und kannst dich bei robert's Tipp bedanken :-).
Gruß, Dieter(Drummer)
Anzeige
Juhu ! DANKE!
29.05.2017 17:15:29
Kisska
Jippiie, jetzt kriege ich keine Meldung "Makros sind deaktiviert", sondern es kommt direkt zur Passwort-Abfrage.
Danke Robert, danke Dieter - ihr seid SPITZE !
Zu früh gefreut :/
29.05.2017 17:20:24
Kisska
Wenn ich die Datei kopiere und in einen anderen Order einfüge, dann öffne, kommt wieder die blöde Meldung "Makros deaktiviert". Damit lässt das Passwortschutz doch umgehen. Es ist einfach zum Weinen :(((
LG
Kisska
Anzeige
AW: Zu früh gefreut :/
29.05.2017 17:23:04
Dieter(Drummer)
Hallo Kisska,
da kann ich dir jetzt leider nicht mehr weiter helfen.
Gruß, Dieter(Drummer)
AW: Zu früh gefreut :/
31.05.2017 15:04:59
dirk
Hallo!
Wie kannst Du denn die Datei kopieren und in einen anderen Excel-ordner einfügen? Dazu musst Du doch erst die Datei öffnen können, oder? Um das zu tun muss die Datei von Dir ja erstmal entsperrt worden sein.
Ich würde das so lösen:
Alle Blätter mit sensiblen Daten auf hidden setzen und Passwort drauf. Ein Blatt sichtbar lassen, und darauf den Hinweis, das Macros aktiviert/zugelassen werden müssen.
Das ganze Workbook mit passwort schützen für Struktur schützen (protect structure).
Falls man ohne Macros die Datei öffnet erscheint nur das Hinweisblatt. Man kann die versteckten Blätter nur einblenden, wenn man das Workbook passwort eingibt.
Gruss
Dirk aus Dubai
Anzeige

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Excel-Datei mit Passwort schützen und öffnen


Schritt-für-Schritt-Anleitung

  1. Öffne die Excel-Datei, die du mit einem Passwort schützen möchtest.
  2. Gehe zu Datei > Speichern unter.
  3. Klicke unten auf Tools und wähle Allgemeine Optionen.
  4. In dem sich öffnenden Fenster kannst du die Optionen für Kennwort zum Öffnen und Kennwort zum Ändern festlegen.
  5. Gib dein gewünschtes Passwort ein und bestätige es.
  6. Speichere die Datei. Jetzt ist deine Excel-Datei mit einem Passwort geschützt.

Zusätzlich kannst du auch VBA verwenden, um das Kennwort bei der Öffnung der Datei abzufragen. Hier ist ein Beispiel:

Private Sub Workbook_Open()
    Dim strPasswortVorhanden As String
    Dim strPasswortEingabe As String
    On Error GoTo ende
    strPasswortVorhanden = "DeinPasswort"
    strPasswortEingabe = InputBox("Bitte geben Sie das Passwort ein:", "Passwort")
    If strPasswortVorhanden <> strPasswortEingabe Then GoTo schließen
    Exit Sub
schließen:
    MsgBox "Die Datei wird aufgrund eines falschen Passwortes geschlossen!"
    Application.DisplayAlerts = False
    ActiveWorkbook.Close
    Application.DisplayAlerts = True
ende:
End Sub

Häufige Fehler und Lösungen

  • Fehler: "Excel-Datei mit Passwort schützen funktioniert nicht"
    Überprüfe, ob du die Datei korrekt gespeichert hast und das Passwort richtig eingegeben wurde.

  • Fehler: "Makros sind deaktiviert"
    Stelle sicher, dass die Makros aktiviert sind, bevor du die Datei öffnest. Andernfalls funktioniert der Passwortschutz nicht.

  • Fehler: "Fehler beim Kompilieren. Außerhalb einer Prozedur ungültig."
    Achte darauf, dass alle Codezeilen korrekt in den VBA-Editor eingegeben wurden und sich innerhalb der Private Sub Workbook_Open() Prozedur befinden.


Alternative Methoden

  • Datei mit Kennwort schützen über die Benutzeroberfläche: Nutze die oben beschriebene Methode über "Datei" > "Speichern unter".
  • Verstecken von Blättern: Du kannst sensible Blätter in deiner Excel-Datei verstecken und nur ein Hinweisblatt sichtbar lassen, das die Benutzer darüber informiert, dass Makros aktiviert werden müssen, um auf die versteckten Daten zugreifen zu können.

Praktische Beispiele

Ein Beispiel für den Einsatz von VBA, um die Datei beim Öffnen zu minimieren und bei korrektem Passwort zu maximieren:

Private Sub Workbook_Open()
    ActiveWindow.WindowState = xlMinimized
    Dim strPasswortVorhanden As String
    Dim strPasswortEingabe As String
    On Error GoTo ende
    strPasswortVorhanden = "DeinPasswort"
    strPasswortEingabe = InputBox("Bitte geben Sie das Passwort ein:", "Passwort")
    If strPasswortVorhanden <> strPasswortEingabe Then GoTo schließen
    ActiveWindow.WindowState = xlMaximized
    Exit Sub
schließen:
    MsgBox "Die Datei wird aufgrund eines falschen Passwortes geschlossen!"
    Application.DisplayAlerts = False
    ThisWorkbook.Close SaveChanges:=False
    Application.DisplayAlerts = True
ende:
End Sub

Tipps für Profis

  • Verwende komplexe Passwörter für zusätzlichen Schutz.
  • Dokumentiere Deinen Code gut, damit Du oder andere Benutzer später verstehen können, wie der Passwortschutz funktioniert.
  • Teste die Datei in verschiedenen Szenarien (z. B. mit und ohne aktive Makros), um sicherzustellen, dass der Passwortschutz robust ist.
  • Berücksichtige den Schutz von Excel-Dateien, die sensible Daten enthalten, indem du auch die Struktur der Arbeitsmappe schützt.

FAQ: Häufige Fragen

1. Wie kann ich sicherstellen, dass die Excel-Datei nur mit Passwort geöffnet werden kann?
Stelle sicher, dass du das Passwort bei den "Allgemeinen Optionen" korrekt eingibst und die Datei speicherst.

2. Was kann ich tun, wenn das Passwort nicht akzeptiert wird?
Überprüfe, ob du das richtige Passwort eingegeben hast und ob die Datei korrekt gespeichert wurde. Du kannst auch versuchen, die Datei erneut zu speichern und das Passwort neu zu setzen.

3. Kann ich eine Excel-Datei mit Passwort in einem Ordner speichern?
Ja, du kannst auch einen Ordner mit einem Passwort schützen, um zusätzlichen Schutz für alle darin enthaltenen Dateien zu gewährleisten.

4. Gibt es eine Möglichkeit, den Passwortschutz zu umgehen?
Es gibt keine legale Methode, um den Passwortschutz zu umgehen, daher ist es wichtig, starke Passwörter zu verwenden und diese sicher zu speichern.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige