|
|
Thema:
|
Excel 97, 2000 und 2002 |
|
In der letzten Ausgabe der Excel-Kolumne habe ich
Ihnen eine Lösung vorgestellt, mit der Sie verhindern können, dass
eine Tabelle bzw. die komplette Arbeitsmappe gedruckt werden kann. In
dieser Aufgabe verrate ich Ihnen, wie Sie eine Arbeitsmappe vor der
Veränderung schützen können, ohne dass Sie diese Arbeitsmappe mit
einem Passwort belegen müssen. Um einen derartigen Schutz
herzustellen, befolgen Sie die nächsten Arbeitsschritte:
- Wechseln Sie mit der Tastenkombination Alt+F11
in die Entwicklungsumgebung von Excel.
- Im Projekt-Explorer klicken Sie den Eintrag
"DieseArbeitsmappe" doppelt an.
- Erfassen Sie danach folgendes Ereignismakro:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI
As _
Boolean, Cancel As Boolean)
Cancel = True
End Sub
Wenden Sie das Ereignis "Workbook_BeforeSave" an, um den
Augenblick abzupassen, an dem der Anwender versucht die Arbeitsmappe
zu speichern. Innerhalb dieses Ereignisses setzen Sie dann das
Argument Cancel auf den Wert True. Damit verhindern Sie effektiv jede
Speicherung der Arbeitsmappe. Selbst wenn der Anwender versucht den
Befehl Speichern unter aus dem Menü
Datei zu wählen wird es ihm nicht
gelingen dieses Arbeitsmappe zu speichern.
Die optimale Lösung wäre jetzt, wenn Sie über einen kleinen Trick
selbst die Arbeitsmappe jederzeit speichern könnten. So könnten Sie
beispielsweise kurz vor dem Speichern der Arbeitsmappe prüfen, ob in
einer bestimmten Zelle ein bestimmter Wert steht. Wenn ja, dann können
Sie die Speicherung zulassen, wenn nicht dann brechen Sie das
Ereignismakro und somit die Speicherung der Arbeitsmappe ab. Der Code
für diese Aufgabe sieht wie folgt aus:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As _
Boolean, Cancel As Boolean)
If
Sheets("Tabelle1").Range("A1").Value <> 1
Then
Cancel = True
End If
End Sub
Im obigen Ereignismakro fragen Sie den Inhalt der Zelle A1 ab. Steht
in Zelle A1 der Wert 1, dann kann die Arbeitsmappe gespeichert werden.
In allen anderen Fällen nicht. Selbstverständlich werden Sie bei
Ihrer Lösung nicht unbedingt die Zelle A1 verwenden, sondern eine
etwas weniger auffällige Zelle in mitten Ihrer Tabelle. Wenn Sie
jetzt noch diese Zelle mit der Schriftfarbe weiss belegen, dann ist
diese Zahl überhaupt nicht sichtbar und fällt somit nicht auf. Ein
kleiner Trick mit grosser Wirkung!
|
|