Clever-Excel-Forum

Normale Version: Arbeitsmappe nach Testzeit sperren
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo zusammen,
möchte folgendes erreichen:

  1. Arbeitsmappe soll nach einem vorgegeben Datum nicht mehr bearbeitbar sein
  2. Arbeitsmappe sollte noch geöffnet werden können diese zu Drucken
  3. Nach der Testphase soll es möglich sein die Zeit zu verlängern
  4. Arbeitsmappe ist Passwort geschützt das nur bestimmte Zellen bearbeitet werden können.
danke im voraus.. 21
Du könntest nach Ablauf eines Zieldatums alle Blätter einfach sperren. Aber wer das mit aller Energie weiter führen möchte, kann das Passwort entfernen und dann weiter reinschreiben.
Die einzige Maßnahme die hilft, ist das Ganze in eine .exe zu kompilieren. Da wirds doch schwer was dran zu ändern.
Schau mal bei Google nach "excel in .exe converter"

Gruß Uwe
Hallo,

dass du das möchtest glaube ich dir gerne  Blush
Aber das kannst du leider vergessen. Die von dir geforderte Sicherheit gibt es in Excel nicht, wenn sich jemand 10 Minuten mit dem Thema auseinandersetzt, hat er jeden Schutzversuch ausgehebelt.
Die angestrebte Lösung ist nur über VBA zu erreichen und wenn der Anwender Makros deaktiviert, ist der Schutz obsolet.
Hallo,

teste mal diese Datei, wenn es sein muss, kann man den Schutz noch etwas erhöhen.

Hier wird das Datum zum Testen in einer Zelle eingetragen, später würde das in einem BuiltinProperties versteckt werden.

Es ist richtig, dass Excel nicht sicher ist, lasst es uns austesten.

mfg

---------------
Version geändert
Hallo Fennek,
da komm Ich jetzt nicht mit. Wenn Ich die Testtabelle öffne kommt ein Fenster welches Passwort muss Ich eingeben....
Ja, das mit dem Gedächtnis ist so eine Sache, ich hatte mich vertippt.

Versuche diese Version:
Hallöchen,

mal nur ein Hinweis.

Es macht schon einen Unterschied, ob man den Schutz einer Datei wegen unzureichender Sicherheitsmechanismen mal einfach weg lässt oder nicht. Siehe das Thema Urheberrecht und Kopie von CD's. Wenn ich mit einer ungeschützten Datei Mist baue, dann ist das halt so, war ja ungeschützt. Wenn ich mir aber aus einer geschützten Datei Informationen oder was auch immer beschaffe, die ich ohne Aushebelung des Schutzes nicht bekommen würde, dann könnte ich rechtlich gesehen schon ein Problem bekommen ... Falls von den Daten die Existenz der Firma abhängt, dann würde mich das jedoch nicht beruhigen Confused

Zitat:Die angestrebte Lösung ist nur über VBA zu erreichen und wenn der Anwender Makros deaktiviert, ist der Schutz obsolet.

Das muss man anders herum lösen. Die Daten sollten nur bei aktivierten Makros zugänglich sein. Also z.B. alle Blätter very hidden, Arbeitsmappe schützen, Projekt sperren usw. und dann mal los bis zum Zieldatum ...
Ja André, das ist eine mögliche Variante aber eben für halbwegs geschickte Anwender genauso leicht auszuhebeln. Daher für diesen konkreten Fall mein Zugang: Sensible Daten sind in Excel ein No-go. Und Excel als "Lizenzvariante" zu verwenden, wird den Autor als kreativen aber bettelarmen Künstler zurücklassen  05
Hallo Andre,
wie würde das mit einer Lösung VBA aussehen.

Hast du da schon einmal etwas erstellt  20

Gruß Tom
Hallöchen,

im Anhang habe ich mal ein simples Beispiel. Die eine Frage beantwortest Du mit "ich", und das Projekt und die Arbeitsmappe (Struktur) ist mit "willi" geschützt.

Falls jemand die Datei nicht downloaden will, In DieseArbeitsmappe habe ich folgende Codes.
Damit stelle ich sicher, dass die Blätter vor dem Speichern ausgeblendet werden und danach wieder ein. Könnte ja sein, man will die Arbeit fortsetzen und hat nur zwischengespeichert. Das Einblenden nach dem Speichern erfolgt nur, wenn vorher mindestens eins der geschützten Blätter sichtbar war. Dadurch umgehe ich eine erneute Passwortprüfung.

Code:
Dim boVis As Boolean
Private Sub Workbook_AfterSave(ByVal Success As Boolean)
    'Makro verlassen, wenn geschuetzte Blaetter nicht sichtbar waren
    If boVis = False Then Exit Sub
    'Arbeitsmappenschutz zuruecksetzen
    ActiveWorkbook.Unprotect Password:="willi"
    'Blaetter einblenden
    Sheets("Tabelle1").Visible = True
    Sheets("Tabelle2").Visible = True
    Sheets("Tabelle3").Visible = True
    'ggf Arbeitsmappenschutz wieder setzen
    ActiveWorkbook.Protect Password:="willi", Structure:=True, Windows:=False
End Sub

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    'Arbeitsmappenschutz zuruecksetzen
    ActiveWorkbook.Unprotect Password:="willi"
    'Sicherheitshalber ein Blatt einblenden - min. ein Blatt muss sichtbar sein
    'kann entfallen, wenn die Struktur geschuetzt bleibt und der Anwender dadurch
    'Tabelle1 nicht ausblenden kann
    Sheets("Tabelle1").Visible = True
    'Pruefen, ob geschuetzte Blaetter sichtbar waren
    If Sheets("Tabelle2").Visible = True or Sheets("Tabelle3").Visible = True Then boVis = True
    'Blaetter ausblenden
    Sheets("Tabelle2").Visible = xlSheetVeryHidden
    Sheets("Tabelle3").Visible = xlSheetVeryHidden
    'Arbeitsmappenschutz setzen
    ActiveWorkbook.Protect Password:="willi", Structure:=True, Windows:=False
End Sub

In Tabelle1 gebe ich in B1 das Passwort ein. Daraufhin werden die anderen Blätter eingeblendet und das Passwort wieder entfernt.  Dazu habe ich im Codemodul des Tabellenblattes diesen Code:

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'Wenn die Eingabe "ich" ist, dann
If Target.Value = "ich" Then
    'Arbeitsmappenschutz zuruecksetzen
    ActiveWorkbook.Unprotect Password:="willi"
    'Blaetter einblenden
    Sheets("Tabelle2").Visible = True
    Sheets("Tabelle3").Visible = True
    'ggf Arbeitsmappenschutz wieder setzen
    ActiveWorkbook.Protect Password:="willi", Structure:=True, Windows:=False
'Ende Wenn die Eingabe "ich" ist, dann
End If
'Eingabe / Passwort entfernen
Target.Value = ""
End Sub

Die Eingabe ist hier kurz sichtbar, das kann man natürlich auch anders lösen, z.B. mit einem Userform mit Textfeld und entsprechender Angabe eines anzuzeigenden Zeichens bei der Eigenschaft "PasswordChar" oder ...
Man kann die Passwortabfrage natürlich schon beim Öffnen der Datei vornehmen, wenn man z.B. generell mit den ausgeblendeten Blättern arbeitet. Wenn das nicht der Fall ist, dann ist so eine unabhängige Abfrage vorteilhafter.

... Für Deine Datumsabfrage könntest Du irgendwo ein Datum hinterlegen, z.B. auf Tabelle1 in C1 - die Zelle gehört im Beispiel ja zum ausgeblendeten Bereich -, und dass dann mit der Prüfung des Passwortes verbinden, z.B. für die ersten 100 Tage im Amt Smile

If Target.Value = "ich" And Date - Cells(1, 3).value <= 100 Then

In C1 würde dann z.B. das heutige Datum stehen, oder

If Target.Value = "ich" And Date < Cells(1, 3).value Then

Dann hätte C1 ein Zieldatum

Besser wäre ggf. die Eintragung des Datums auf einem weiteren very gehiddeten Blatt. Inhalte von ausgeblendeten Zellen eines bekannten Blattes abzufragen ist dann doch etwas zu simpel Sad Durch den Blattschutz kann man das Datum nicht gleich ändern, aber zuweilen könnte es ja auch etwas relevanteres sein als nur ein Datum ...

... Du könntest übrigens auch durch unterschiedliche "Passwörter" unterschiedliche Reaktionen hervorrufen. "ich" sehe dann z.B. nur Tabelle2, "du" bekommst nur Tabelle3, und der "admin" bekommt beide und der "entwickler" bekommt alles ohne Zeiteinschränkung Smile Dann muss man natürlich in allen 3 Makros etwas tun und boVis wird zur Entscheidungshilfe für das Wiedereinblenden nach dem Speichern auch nicht mehr reichen Sad
Seiten: 1 2