Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1560to1564
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Ö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

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)
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
Anzeige
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?
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
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

312 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige