AW: versuche doch mal...
11.04.2005 19:49:10
FP
Hallo Thorsten,
aus einer Mappe die diesen Ereigniscode für "Diese Arbeitsmappe" enthält etwas zu kopieren oder zu drucken... :D
Option Explicit
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim ws As Worksheet
Me.Unprotect "test"
For Each ws In Me.Sheets
If ws.CodeName <> "Tabelle1" Then ws.Visible = xlSheetVeryHidden
Next
Me.Save
End Sub
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Cancel = True
End Sub
Private Sub Workbook_Open()
Dim ws As Worksheet
With Application
.Interactive = False
.ScreenUpdating = False
.Calculation = xlCalculationManual
.EnableCancelKey = xlDisabled
End With
If Me.ProtectWindows = True Or Me.ProtectStructure = True Then _
Me.Unprotect "test"
Me.Windows(1).WindowState = xlMaximized
For Each ws In Me.Sheets
If ws.ProtectContents = True Then _
ws.Unprotect "test"
ws.Visible = xlSheetVisible
ws.EnableSelection = xlNoSelection
ws.Protect "test"
Next
Me.Protect "test", True, True
With Application
.EnableCancelKey = xlInterrupt
.Calculation = xlCalculationAutomatic
.ScreenUpdating = True
.Interactive = True
End With
End Sub
Ist nur eine Demo, wie leicht zumindest das verhindert werden kann.
Willst Du nicht ganz so restriktiv vorgehen, dann verwende statt
ws.EnableSelection = xlNoSelection
ws.EnableSelection = xlUnlockedCells
dann kann man zumindest noch alle ungeschützten Zellen bearbeiten.
In der "Tabelle1" ( darf sogar vom Anwender umbenannt werden ) würde ich dabei nur in
Balkenlettern "WILLKOMMEN" mitten auf den sichtbaren Bereich schreiben.
Unterbindet der Anwender die Ausführung der Makros, sitzt er trotzdem nur vor eben diesem Blatt.
Dann noch das Projekt per Passwort geschützt und fast alle Mitarbeiter meiner Firma hätten keine Möglichkeit mehr, ein Blatt zu drucken.
Wenn der Anwender natürlich ein Tool zum Passwort knacken hat, nützt das leider alles nichts...
Servus aus dem Salzkammergut
Franz