Passwortgeschützte Datei umschalten
#1
Hallo liebes Excelforum,


ich bin auf der Suche nach eine Möglichkeit um eine Datei die mit Schreibschutz-Kennwort geschützt ist wie folgt zu behandeln!

Meine Datei ist Kennwort geschützt und wird standardmässig mit Schreibschutz geöffnet, das heißt ohne Eingabe des Kennworts! Ich möchte in meine Datei einen Button einbauen der mir den Schreibschutz durch Eingabe des Kennwort aufhebt und die Datei dann beschreibbar macht und das gleiche auch wieder zurück mit ein anderer Button!

Also Button1(Datei bearbeiten) und Button2 (Datei schreibgeschützt)!
Ich meine damit keinen Blattschutz o.ä. sonder wirklich, diesen Schreibschutzkennwort den man beim speichern der Datei vergeben kann!
Ist sowas überhaupt möglich?


Für eure Hilfe danke ich im Voraus
VG
Alexandra
Top
#2
Hi Alexandra,

(12.06.2014, 21:49)cysu11 schrieb: Also Button1(Datei bearbeiten) und Button2 (Datei schreibgeschützt)!
Ich meine damit keinen Blattschutz o.ä. sonder wirklich, diesen Schreibschutzkennwort den man beim speichern der Datei vergeben kann!
Ist sowas überhaupt möglich?

evtl. könnte das (mit VBA) so gelöst werden, daß Du beim Drücken von Button 1 die Datei abspeicherst ohne Passwort und beim Drücken von Button 2 mit Passwort. Dann wäre sie zwischendrin editierbar.

Ich habe das aber noch nie ausprobiert.
[-] Folgende(r) 1 Nutzer sagt Danke an Rabe für diesen Beitrag:
  • cysu11
Top
#3
Hallo Ralf,


danke für den Tipp! :)

Habe jetzt ein wenig gebastelt und hinbekommen:

Code:
Private Sub CommandButton1_Click()
Application.DisplayAlerts = False
Workbooks.Open Filename:=ThisWorkbook.Path & "\" & "test.xlsm", ReadOnly:=False, Password:="", WriteResPassword:="123"
Application.DisplayAlerts = True
End Sub

Private Sub CommandButton2_Click()
Application.DisplayAlerts = False
ThisWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\" & "test.xlsm", Password:="", WriteResPassword:="123"
Application.DisplayAlerts = True
Workbooks.Open Filename:=ThisWorkbook.Path & "\" & "test.xlsm", ReadOnly:=True
End Sub


Vielen Dank
VG
Alexandra
Top
#4
Hi Alexandra,

nun mußt Du aber noch das Passwort abfragen und an das Makro übergeben, sonst kann ja jeder die Datei entschützen per Knopfdruck.

Oder habe ich Deine Codes falsch verstanden?
Top
#5
Hallo Ralf,


hier nochmals mein Code:

Code:
Option Explicit

Private Sub CommandButton1_Click() ' Editiermodus
   Application.DisplayAlerts = False
   Workbooks.Open Filename:=ThisWorkbook.Path & "\" & "test.xlsm", ReadOnly:=False, Password:="", WriteResPassword:="123"
   Application.DisplayAlerts = True
   Range("A1:AA1").Interior.Color = &HFF&
End Sub

Private Sub CommandButton2_Click() ' Viewmodus
   Application.DisplayAlerts = False
   Range("A1:AA1").Interior.Color = &HFF00&
   ThisWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\" & "test.xlsm", Password:="", WriteResPassword:="123"
   Application.DisplayAlerts = True
   Workbooks.Open Filename:=ThisWorkbook.Path & "\" & "test.xlsm", ReadOnly:=True
End Sub

Dazu zwei Fragen:
1. Wie kann ich das mit dem Kennwort machen?
2. Ich versuchen im Editiermodus den Bereich A1:AA1 rot zu färben, aber irgendwie klappt es nicht und ich weiß nicht warum! Hast du eine Idee?


Danke
VG
Alexandra

Code eingerückt dargestellt
Moderator
[Bild: smilie.php?smile_ID=1810]
Top
#6
Hallo Alexandra,

(13.06.2014, 00:04)cysu11 schrieb: Ich versuche im Editiermodus den Bereich A1:AA1 rot zu färben, aber irgendwie klappt es nicht

was heißt klappt irgendwie nicht? Gibt es eine Fehlermeldung und wenn ja, wie heißt sie? Wo steht denn der Code?
Gruß Stefan
Win 10 / Office 2016
Top
#7
Hallo Alexandra,

Frage; warum benutzt Du zwei Buttons? Es ginge auch, einen Button zu nutzen und diesen (durch Beschriftung und durch Farben, ob Schutz oder nicht), kenntlich zu machen.

Zitat:nun mußt Du aber noch das Passwort abfragen und an das Makro übergeben, sonst kann ja jeder die Datei entschützen per Knopfdruck.

das ließe sich beispielsweise mit einer InputBox machen. Nachteil: Das Passwort steht im Klartext in der Box.
In einem UserForm kann man einstellen, daß Sternchen (****) angezeigt werden sollen.
Top
#8
Hallo alexandra,

Dein Makro weiß nicht, in welcher Datei und welcher Tabelle es eine Aktion ausführen soll.

so ginge es:

Code:
Private Sub CommandButton2_Click() ' Editiermodus
   Application.DisplayAlerts = False
   With Workbooks.Open(Filename:="C:\Users\Atilla\Desktop" & "\" & "Mappe1.xlsm", ReadOnly:=False, Password:="", WriteResPassword:="123")
      Application.DisplayAlerts = True
      .Sheets("Tabelle1").Range("A1:AA1").Interior.Color = &HFF&
   End With
End Sub
Gruß Atilla
Top
#9
Hallo Atilla,


bei mir funktioniert es einfach nicht!
Ich habe meine Beispieldatei hochgeladen:

[
Dateiupload bitte im Forum! So geht es: Klick mich!
]

Was stimmt da nicht? Und wie kann ich das mit dem Passwort machen?


Lieben Dank
Alexandra
Top
#10
(13.06.2014, 18:53)cysu11 schrieb: ...Was stimmt da nicht...
Hallo, grad mal neugierig geöffnet

Da ist eine falsche Adresse _open_ drin, schau mal rein
Edit: hier hält der Debugger an
With Workbooks.Open(Filename:="C:\Users\....\downloads" & "\" & "test.xlsm", ReadOnly:=False, Password:="", WriteResPassword:="123")
Edit end
mfg
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste