Schreibschutz per VBA erkennen
Wie Sie einen Schreibschutz in einem Makro ermitteln
Um eine Arbeitsmappe so abzuspeichern, dass sie nicht verändert werden kann, legen Sie einen Schreibschutz fest. Das können Sie beim Speichern aus Excel heraus erledigen oder auf der Windows-Ebene vornehmen.
Wenn Sie in einem Makro feststellen möchten, ob eine Arbeitsmappe schreibgeschützt ist, setzen Sie die Eigenschaft ReadOnly ein. Das folgende Makro zeigt, wie das funktioniert:
Sub IstMappeNurLesbar()
With ActiveWorkbook
If .ReadOnly Then
MsgBox ("Arbeitsmappe " & .Name & " ist schreibgeschützt.")
Else
MsgBox ("Arbeitsmappe " & .Name & " kann gespeichert werden.")
End If
End With
End Sub
Nach dem Start des Makros wird die Eigenschaft ReadOnly der aktiven Arbeitsmappe abgefragt. Excel setzt diese Eigenschaft auf den Wert True, wenn es sich bei der Arbeitsmappe um eine Datei handelt, die schreibgeschützt ist. Dann kann die Datei nicht unter dem aktuellen Namen gespeichert werden. Darauf weist im Makro ein passendes Informationsfenster hin:
Wenn es sich bei der Arbeitsmappe um eine Datei handelt, die nicht schreibgeschützt ist, liefert die Eigenschaft ReadOnly den Wert False zurück. In diesem Fall zeigt das Makro ein passendes Hinweisfenster an.
Wenn Sie anstelle der aktiven Arbeitsmappe den Schreibschutz für eine andere geöffnete Datei überprüfen möchten, ersetzen Sie das Objekt ActiveWorkbook durch einen Verweis auf die gewünschte Arbeitsmappe.
Tipp: Falls Sie wissen möchten, wie Sie Makros in Excel eingeben und starten, finden Sie hier eine Kurzbeschreibung: http://www.exceldaily.de/excel-makros-vba/artikel/d/so-geben-sie-makros-in-excel-ein.html
Werden Sie mit unseren Tipps zum Excel-Profi!
- Wir benötigen Ihre E-Mail-Adresse für die Zusendung des Newsletters.
- Wir geben Ihre E-Mail-Adresse garantiert nicht an Dritte weiter.
- Jederzeit abbestellbar durch einen Link im Newsletter.



