Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
196to200
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
196to200
196to200
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Arbeitsmappeninhalte mit Zeitablauf löschen

Arbeitsmappeninhalte mit Zeitablauf löschen
29.12.2002 11:06:07
Karl Schmitz
Ich habe ein größeres Excelrechenblatt erstellt mit sehr aufwendigen Formeln, Makros, Tabellen usw.. Dies möchte ich aber nur Arbeitskollegen zur Verfügung stellen. Dies ist mit einem Passwort möglich. Aber aus der Erfahrung heraus hat jeder gute Freunde und so wird dieses Excelrechenblatt weiter "wandern" und unkontrolliert weiter gegeben werden. Um dies auszuschließen denke ich an eine zeitbefristete Laufzeit der Datei. Wer von mir als berechtigt anerkannt ist kann nach diesem Zeitablauf eine neue Datei mit einer weiteren Laufzeit bekommen. So könnte ich die ungewollte Nutzung eingrenzen. Es werden keine Daten von diesem Programm aus gespeichert oder geladen.
Ich stelle mir dies möglicherweise so vor:
In ein oder mehrere häufig benutzter Makros füge ich eine Datumsabfrage ein. Wenn diese überschritten ist, dann sollen Tabellenblätter und vor allem Makros teils oder ganz gelöscht werden. Eine Fehlermeldung kann erscheinen mit der Bitte wenn das Programm nicht "sauber" läuft sich doch bitte an mich zuwenden.
Das Ablaufdatum könnte versteckt im Makro aber auch in einer Tabelle, was ich vorziehen würde, abgelegt sein.
Kann mir jemand helfen und ein Makro das ich in ein anderes einfügen kann ausarbeiten? Gibt es noch eine andere Möglichkeit?
Für euere Hilfe besten Dank.
Karl Schmitz

24
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Arbeitsmappeninhalte mit Zeitablauf löschen
29.12.2002 11:22:34
Hajo_zi
Hallo Karl

endschuldigung es sollte nur Karl lauten, wie komme ich auf Karl Heinz.

Gruß Hajo

Re: Arbeitsmappeninhalte mit Zeitablauf löschen
29.12.2002 11:37:00
Ramses
Hallo,

es heisst "aufwändigen" ;-)

Nun zu deinem Problem:
Was du auf jeden Fall einbauen solltest ist eine leere Tabelle ohne Gitternetzlinien. Bennene diese z.B. "Cover".
Nun setzt du eine Workbook_Close Ereignis ein, das diese Seite beim Schliessen auswählt und deine Arbeitsmappe und das Blatt schützt:


Private Sub Workbook_BeforeClose(Cancel As Boolean)
'Deckblatt wählen
Worksheets("Cover").Select
'Zeilen- und Spaltebeschriftungen ausblenden
'Bildschirmlaufleisten ausblenden
'Registerblätter ausblenden
With ActiveWindow
    .DisplayHeadings = False
    .DisplayHorizontalScrollBar = False
    .DisplayVerticalScrollBar = False
    .DisplayWorkbookTabs = False
End With
'Arbeitsmappenaufbau und Blatt schützen
ActiveWorkbook.Protect Password:="Sicher", Structure:=True, Windows:=True
ActiveSheet.Protect Password:="Sicher", DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub

Private Sub Workbook_Open()
Dim PW As String
'Gültigkeit prüfen
If Date > "01.06.2003" Then
    MsgBox "Nutzungsdauer abgelaufen"
    Exit Sub
End If
'Oder Monatliche PW-Prüfung
PW = InputBox("Bitte Password für Monat " & Format(Month(Date), "MMMM") & " eingeben!", "Password")
Select Case Month(Date)
    Case Is > 0 < 4
        If PW <> "1.Quartal" Then
            MsgBox "Passwort abgelaufen: Bitte Hern XY anrufen"
            Exit Sub
        End If
    Case Is > 3 < 7
        If PW <> "1.Quartal" Then
            MsgBox "Passwort abgelaufen: Bitte Hern XY anrufen"
            Exit Sub
        End If
    Case Is > 6 < 10
        If PW <> "3.Quartal" Then
            MsgBox "Passwort abgelaufen: Bitte Hern XY anrufen"
            Exit Sub
        End If
    Case Is > 9 < 13
        If PW <> "4.Quartal" Then
            MsgBox "Passwort abgelaufen: Bitte Hern XY anrufen"
            Exit Sub
        End If
End Select
'Zeilen- und Spaltebeschriftungen einblenden
'Bildschirmlaufleisten einblenden
'Registerblätter einblenden
With ActiveWindow
    .DisplayHeadings = True
    .DisplayHorizontalScrollBar = True
    .DisplayVerticalScrollBar = True
    .DisplayWorkbookTabs = £True
End With
'Arbeitsmappenaufbau und Blatt schützen
ActiveWorkbook.Unprotect Password:="Sicher", Structure:=True, Windows:=True
ActiveSheet.Unprotect Password:="Sicher", DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub 

     Code eingefügt mit Syntaxhighlighter 1.16

Damit ist sichergestellt, dass wenn jemand beim öffnen die "Shift"-Taste gedrückt hält oder die Makros wegen der Sicherheitsabrage nicht aktiviert hat, beim öffnen trotzdem keinen Zugriff hat auf deine Tabelle hat.

Das Password kannst du dann ebenfalls im Workbook_Open Ereignis abfragen.
Durch das Close-Ereignis ist sichergestellt, dass die Arbeitsmappe auf jeden Fall geschützt ist.

Gruss Rainer

Anzeige
Re: Arbeitsmappeninhalte mit Zeitablauf löschen
29.12.2002 11:37:38
Karl Schmitz
Danke Hajo_zi. Ich werde dies testen und Dir Bescheid geben ob es funktioniert.

Hallo Hajo, ... ich war schon am basteln :-)
29.12.2002 11:38:28
Ramses
Ich wünsche Dir einen Guten Rutsch ins Neue Jahr :-)

Gruss Rainer

Re: Datei schließen
29.12.2002 11:41:32
Hajo_zi
Hallo Rainer

auch Dir einen guten Rutsch in neue Jahr.

Die Variante die ich vorgeschlagen habe war nicht so umfangreich, wie Deine. Es war die erste die ich in der Recherche gefunden haben.

Aber man muß ja immer schreiben in Excel ist nichts sicher. Das Passwort kann man ja knacken.

Gruß Hajo

Re: Arbeitsmappeninhalte mit Zeitablauf löschen
29.12.2002 13:03:09
Karl Schmitz
Du hast Dir ja mächtig Arbeitgemacht. Vielen Dank

Aber klar komme ich damit leider nicht. Ich werde aber dran bleiben.

Anzeige
Re: Datei schließen
29.12.2002 13:10:58
Karl Schmitz
Wenn ich ein Makro habe - mit Makrorecorder aufgezeichnet-(für mehr langt es bei mir nicht) beginnt dies mit

Sub
Anweisung
End Sub

Wenn ich jetzt ein Makro wie es von Hajo kam dazwischen einbauen will läuft das nicht. Was muß ich tun um diese Anweisung in ein vorhandenes Makro ein zu fügen?

Re: Arbeitsmappeninhalte mit Zeitablauf löschen
29.12.2002 13:13:30
Hajo
Hallo Karl

der Beitrag auf den ich verwiesen habe und auch Rainer sein Code gehören nicht in ein Modul sondern unter DieseArbeitsmappe.

Gruß Hajo

Re: Arbeitsmappeninhalte mit Zeitablauf löschen
29.12.2002 13:32:13
Karl Schmitz
ok verstanden
Ich babe jetzt die ganze Anweisung Sub Datloesch in Diese Arbeitsmappe eingefügt.

Habe gespeichert und Beendet. Neu geöffnet. Es passiert nichts. Auch wenn ich irgent ein Makro betätige. Wo stelle ich mich böd an?

Anzeige
Re: Arbeitsmappeninhalte mit Zeitablauf löschen
29.12.2002 13:35:40
Hajo
Hallo Karl

Deine Datei sollte wie folgt aussehen.

Deaktiviere die Makros, damit Du sie öffen kannst.

https://www.herber.de/user/karl.xls

Gruß Hajo

Re: Arbeitsmappeninhalte mit Zeitablauf löschen
29.12.2002 13:45:48
Karl Schmitz
Deine Excel-Datei habe ich geöffnet. So eine Meldung könnte es sein wenn die Zeit abgelaufen ist. Aber wie soll ich alle Makros deaktivieren?

Ist es möglich Dich telefonisch zu erreichen um das ganze auf die Reihe zu bringen?

Re: Arbeitsmappeninhalte mit Zeitablauf löschen
29.12.2002 13:48:29
Hajo
Hallo Karl

nach Deinen Worten hast Du unter Extra, Makros, Sicherheit. Die Sicherheit auf niedrig gestellt. Meiner Meinung nach sollte man dies nicht machen, da Viren dann Tür und Tor geöffnet ist. Stelle es auf Mittel, dann kommt eine Abfrage zu den Makros.

Gruß Hajo

Anzeige
Re: Arbeitsmappeninhalte mit Zeitablauf löschen
29.12.2002 13:57:46
Karl schmitz
Habe ich gemacht.

Habe dein Makro Datloesch in DieseArbeitsmappe geschrieben, gespeichert und neu geladen. Nichts geschied?

Re: Arbeitsmappeninhalte mit Zeitablauf löschen
29.12.2002 13:59:44
Hajo
Hallo Karl

das Makro wird nur beim öffnen der Datei ausgeführt. Hast Du die Datei geschloßen und geöffnet??

Gruß Hajo

Re: Arbeitsmappeninhalte mit Zeitablauf löschen
29.12.2002 14:01:33
Karl Schmitz
ja genau so habe ich es gemacht
Re: Arbeitsmappeninhalte mit Zeitablauf löschen
29.12.2002 14:03:08
Hajo
Hallo Karl

Die Makros hast Du doch aktiviert beim öffnen.

schicke mir mal Deine Datei, falls nicht geheim.

Gruß Hajo

Re: Arbeitsmappeninhalte mit Zeitablauf löschen
29.12.2002 14:25:13
Karl Schmitz
Schicke ich dir gerne zu. Habe die Datei aber auf dem Laptop. Dieser hat kein Internetanschluß. Habe Laufwerke aber die Laufwerke in der Firma.

Sobalt ich es senden kann kommt die Datei.

Anzeige
Re: Arbeitsmappeninhalte mit Zeitablauf löschen
29.12.2002 14:40:06
Hajo
Hallo Rainer

Karl will mir seine Datei schicken und da wollte ich Dein Makro testen.

ExcelVersion XP
es kommt bei mir beim Debuggen Fehler bei "Structure:=True, Windows:=True"

Case müßte umgedreht werden Prüfung von 12 nach 1.

Aber das Problem das ich habe. Die Datei wird geöffnet, trotz falschem Passwort, Aber ich kann die Datei nicht schließen da kein X vorhanden. Weil Du Dich damit aber schon intensiv eingearbeitet hast Frage ich Dich bevor ich mich da einarbeite.
Den Ursprungsverweis habe ich natürlich im Code ergänzt.

Gruß Hajo


Re: Arbeitsmappeninhalte mit Zeitablauf löschen
29.12.2002 16:23:25
Karl schmitz
wie soll ich dirs schicken? Bitte gebe mir eine e-mail-Adresse
Gruss
Karl
Anzeige
Re: Arbeitsmappeninhalte mit Zeitablauf löschen
29.12.2002 16:24:58
Hajo
Hallo Karl

bei allen Namen die blau sind steht eine eMail Adresse dahinter, also nur drauf klicken.

Gruß Hajo

Re: Toll Hajo, es läuft!
30.12.2002 21:20:42
Karl Schmitz
Hi, Hajo,

toll, das ist so wie ich mir das vorstelle. Danke

Beim Programmstart wird die Tabelle1 angezeigt. Warum?
Besser wäre es, es würde sofort ein Arbeitsblatt erscheinen.


Beim beenden (schließen) des Programms erscheint die Tabelle 1 wieder . Die "Speichern abfrage? " könnte doch auch auf dem letzten Arbeitsblatt erscheinen.


Die Tabelle 1 sollte nur erscheinen wenn die Zeit abgelaufen ist. Ist das möglich?

Wenn du das Makro änderst könntest du den Ablauf mit Infozeilen kurz beschreiben?

Nochmals Danke
Gruss
Karl Schmitz



Anzeige
Re: Toll Hajo, es läuft!
30.12.2002 21:31:16
Georg_Zi
Hallo Karl

Welches Blatt zu Beginn angezeigt werden kann kannst Du unter open per VBA einstellen.
Worksheets("Tabelle3").Select


Vom Kommentar
Bei Private Sub Workbook_BeforeClose(Cancel As Boolean)
werden alle Tabellen ausgeblendet bis auf Tabelle1 dies wird eingeblendet.

Bei Private Sub Workbook_Open()
ist bei aktivierten Makros genau die umkehr von Private Sub Workbook_BeforeClose(Cancel As Boolean)


Diese Verfahrensweise hat nur den Zweck falls jemand die Makro Deaktiviert nach der Zeit, das er nicht mehr an die Daten rankommt.

Für alle Mitleser das Problem wurd auf dem Mail Wege gelöst, fallst Bedarf an der Lösung lade ich eine Mustermappe hoch.

Gruß Hajo

Anzeige
Prima, ich werde dies so teste
31.12.2002 11:26:34
Karl Schmitz
Prima, ich werde dies so testen.

Vielen Dank und guten Rutsch.

Gruss
Karl Schmitz

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige