![]() |
||
![]() |
Speichern einer Arbeitsmappe verhindernSie wollen den Zugriff auf eine Excel-Arbeitsmappe so beschränken, dass andere Benutzer zwar auf die Datei zugreifen dürfen, aber den Inhalt nicht ändern können. Eine Sicherung per Passwort hilft in diesem Fall nicht weiter. Sie suchen eine andere Lösung. Den gewünschten Effekt erzielen Sie am besten mit einem kurzen Ereignismakro. Öffnen Sie dazu die betreffende Arbeitsmappe und führen Sie den Befehl »Extras | Makro | Visual Basic-Editor« aus. Im VBA-Editor wählen Sie »Ansicht | Projektexplorer« und klicken dann doppelt auf den Eintrag »Diese Arbeitsmappe«. Nun geben Sie im Code-Fenster folgende Makrozeilen ein: Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)Dadurch wird jeder Speicherversuch sofort abgebrochen. Damit Sie selbst Änderungen an der Datei vornehmen können, müssen Sie sich deshalb noch eine Hintertür einbauen. Lassen Sie dazu zum Beispiel vom Makro den Wert einer bestimmten Zelle testen. Nur wenn in der Zelle die richtige Geheimzahl steht, ist das Speichern möglich. Bevor gespeichert wird, muss das Makro die eingegebene Geheimzahl natürlich wieder löschen. Ansonsten würde der nächste Benutzer den Schutz problemlos knacken. Geben Sie folgende Zeilen in das Makro ein: If Sheets(„Tabelle1“).Cells(100,1).Value <> 333 ThenIn diesem Beispiel testet das Makro den Wert der Zelle »A100« aus »Tabelle1«. Nur wenn dort »333« steht, können Sie die Tabelle speichern. In der letzten Makrozeile wird der Wert der Zelle wieder gelöscht. Für einen Anwender, der die Geheimnummer nicht kennt, bleiben alle Speicherversuche erfolglos. ! Achtung: Diese Sperre wird umgangen, wenn beim Öffnen der Arbeitsmappe die Makros deaktiviert werden. |
![]() |