Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Excel-Mappe schreibgeschützt öffnen
#1
Hi,

eine Excel-Datei kann ja beim "Speichern unter..." im Speichern-Dialogfenster mit dem Dropdown "Tools" mit einer Meldung versehen werden, daß die Datei schreibgeschützt geöffnet werden soll, die dann beim Öffnen der Datei erscheint.

Kann ich diesen Schreibschutz auch über den Windows-Anmeldungsnamen steuern?
VBA.Environ("Username")

Wenn also User Dimpflmoser angemeldet ist, soll die Datei schreibgeschützt sein, wenn Rabe angemeldet ist, dann ist sie zum Ändern freigegeben oder geht das nur über den Blattschutz?

2. Frage:
Wenn ich die Struktur schützen will, kann ich das ja über
Code:
ActiveWorkbook.Protect Structure:=True, Windows:=False
'
    ActiveWorkbook.Unprotect

machen. Geht das auch mit Passwort?
Antworten Top
#2
Hi Ralf!
Zur zweiten Frage:
Die Workbook.Protect-Methode hat auch einen optionalen benannten Parameter Password:=
https://msdn.microsoft.com/de-de/library...93800.aspx

Zur ersten Frage prokel ich noch weiter, dürfte aber schwierig(?) werden.

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#3
Versuch mal:


Code:
Private Sub Workbook_Open()
   If Environ("username") <> "Rabe" Then
     Application.DisplayAlerts = False
     Workbooks.Open ThisWorkbook.FullName, , True
   End If
End Sub
[-] Folgende(r) 1 Nutzer sagt Danke an snb für diesen Beitrag:
  • Rabe
Antworten Top
#4
Hallo Ralf,

ohne Hilfe von außen wird das nicht gehen, und ob die Hilfe hilft ...
Problem ist, dass das Workbook_Open Ereignis erst dann greift, wenn der oder die Datei-Schütze überwunden sind.

Hat mich übrigens 2003 schon mal ein Ralf bei Herber gefragt Smile
http://www.herber.de/forum/archiv/224to2...ieren.html
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#5
Hi Ralf,

(20.01.2017, 12:41)RPP63 schrieb: Zur zweiten Frage:
Die Workbook.Protect-Methode hat auch einen optionalen benannten Parameter Password:=
https://msdn.microsoft.com/de-de/library...93800.aspx

Ausdruck.Protect(Password, Structure, Windows)
Code:
ActiveWorkbook.Protect Password:="Test", Structure:=True, Windows:=True
    ActiveWorkbook.Protect("Test", True, True)

die erste Zeile funktioniert, die zweite nicht.
Antworten Top
#6
Die zweite bräuchte (hier natürlich Quatsch) entweder eine Zuweisung per = oder würde (hier ebenfalls Quatsch) in einer With-Anweisung Sinn machen.
So nach dem Schema:
Code:
With Workbooks.Open("J:\Rabe.xlsm")
  .Worksheets("Tabelle1").Cells(1) = "Moin"
  .Close True
End With

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#7
Hallo Ralf,

hier ist noch das Prinzip aus dem Script, nur aus einer anderen Excel-Datei heraus dann anwendbar:
Code:
Sub nicks()
Workbooks.Open "I:\Test\Master.xlsm", ReadOnly:=False, WriteResPassword:="Willi", IgnoreReadOnlyRecommended:=True
End Sub

Hier ist dann auch gleich noch die Bedeutung der Parameter ersichtlich, siehe auch die Antwort von snb. Du musst den Code, wie gesagt, nur aus einem anderen Workbook (oder vorhin Script) heraus starten und die Datei öffnen. Die gleiche nochmal zu öffnen wird wohl nix weil die Abfrage ja beim ersten Versuch schon kommt. Hauptsache, Du gibst das Teil nicht mal aus Versehen dem Anwender mit Smile
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#8
Hallo zusammen,

ich habe gerade snb#s Version getestet und es funktioniert einwandfrei.

Natürlich muss gewährleistet sein, dass die Datei mit aktivierten Makros nutzbar ist.
Gruß Atilla
Antworten Top
#9
Hi,

(20.01.2017, 12:47)snb schrieb: Versuch mal:

danke, werde ich testen!

[edit]
funktioniert!
Antworten Top
#10
Hallöchen Ralf,

nachdem atilla nun von snb's Lösung überzeugt ist und ich mir deswegen die Aufgabenstellung nochmal durchgelesen habe, rudere ich mal 50% zurück. Das Wort "Schreibschutz" hatte bei mir gleich die Passworteingabe assoziiert. Also, wenn Du kein Passwort vergeben hast, passt die Lösung.

Mit Passwortvergabe bleibe ich bei meinem Vorschlag Smile
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top


Gehe zu:


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