demo

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
MsgBox
Bild

Betrifft: demo von: erik
Geschrieben am: 11.03.2005 15:28:25

Hallo,
ich möchte ein Tabellenblatt mit einer beschränkten Laufzeit erstellen,
also nach Ablauf von 30 Tagen soll sich die Datei nicht mehr öffnen lassen.

Hat jemand von Euch eine Idee wie man dies am schlauesten lösen kann ?

Übrigens noch mal vielen Dank für die Unterstützung meiner letzte Frage bzgl. email !!!

erik

Bild


Betrifft: AW: demo von: Drazen
Geschrieben am: 11.03.2005 15:40:58

Hallo Erik,

das hier hab ich in der Recherche gefunden, und mir hat es geholfen:


Private Sub Workbook_Open()
Dim Pfad As String
Dim wb1 As Workbook
Dim ws1 As Worksheet
Set wb1 = ThisWorkbook
Set ws1 = wb1.Worksheets("Timer")
Application.ScreenUpdating = False 'ausschalten der Bildschirmaktualisierung
Sheets("Timer").Visible = xlVeryHidden 'Vorteil sie können nicht über "Format" -> "Blatt einblenden" eingeblendet werden
If ws1.Cells(1, 1).Value = "" Then 'eintrag des starttages der Frist beim ersten Start
ws1.Cells(1, 1).Value = Date
End If
'Test ob die Frist rum ist
If ws1.Cells(1, 2).Value = "unbegrenzt#543" Then 'bei Besitz einer unbegrenzt gültigen Version (string ist egal bedeutung ist wichtig)
ElseIf ws1.Cells(1, 1).Value + ws1.Cells(1, 2).Value < Date Then 'wenn startdatum+Frist schon vergangen sind
Application.ScreenUpdating = True
MsgBox "Die Laufzeit dieser Trialversion ist abgelaufen."
Application.DisplayAlerts = False
wb1.Close SaveChanges = False
End If
Application.ScreenUpdating = True 'ausschalten der Bildschirmaktualisierung
End Sub



Du must also ein Blatt einfügen und es unsichtbar machen per VBA, dort das Datum der ersten Aktivierung eintragen, und danach dan den Zeitraum bestimmmen in dem die Mappe gültig ist.

Hoffe es bringt dich weiter.

Grüsse
Drazen


Bild


Betrifft: AW: demo von: erik
Geschrieben am: 11.03.2005 15:54:05

Hallo,
erstmal vielen Dank für Deine Hilfe,
Ich muß ich den Code erstmal testen !

erik


Bild


Betrifft: AW: demo von: UweD
Geschrieben am: 11.03.2005 16:12:16

Hallo Eric

So gehts:
die Benutzerdefinierte Eigenschaften werden benutzt


Private Sub Workbook_Open()
    On Error GoTo Neu
weiter:
    If Date - ThisWorkbook.CustomDocumentProperties("Ende").Value > 30 Then
        MsgBox "Sorry zu spät"
        Me.Close savechanges = False
    End If
Exit Sub
Neu: 'wenn er Eintrag noch fehlt, wird er angelegt
    ActiveWorkbook.CustomDocumentProperties.Add Name:="Ende", _
    LinkToContent:=False, Type:=msoPropertyTypeDate, Value:=Date
    Me.Save
    Err.Clear
    GoTo weiter
    'Wert lässt aber sich unter Datei, Eigenschaften, Anpassen einstellen
End Sub

Gruß UweD


Bild


Betrifft: AW: 2 Fragen an Uwe von: Martin Beck
Geschrieben am: 11.03.2005 16:48:49

Hallo Uwe,

da mich das Thema auch schon länger interessiert, 2 Fragen:

1) Was passiert, wenn der Nutzer beim Öffnen der Datei die Makros nicht aktiviert?

2) Was passiert, wenn der Nutzer, dann wenn die MsgBox kommt, STRG-UNTBR drückt?

Gruß
Martin Beck


Bild


Betrifft: AW: 2 Fragen an Uwe von: UweD
Geschrieben am: 14.03.2005 08:04:23

Hallo

zu1) Du kannst alle relevanten Blätter ausblenden (oder besser veryhidden setzen). Dann auf ein übriggebliebenes Blatt schreiben, "Läuft nur mit Makroaktivierung"
Beim Start mit Makros werden die Blätter beim Workbookopen eingeblendet und später beim BeforeClose wieder ausgeblendet.


zu2) die Msgbox war nur für das Beispiel gedacht

Das ganze kann natürlich noch sicherer gemacht werden.. (Tasten abschalten etc.)


Aber! Jeder Schutz lässt sich aushebeln... Kommt eben auf das Können der User an...
Gruß Uwe


Bild


Betrifft: AW: demo von: erik
Geschrieben am: 11.03.2005 17:16:06

Hallo UweD,

bei kommt in der Zeile:

Me.Close savechanges = False

die Fehlermeldung, Variable nicht definiert !

Woran kann das liegen ?

erik


Bild


Betrifft: AW: demo von: UweD
Geschrieben am: 14.03.2005 07:57:24

Hallo


dann versuch mal anstelle von "Me." "ThisWorkbook."

Gruß UweD


 Bild

Beiträge aus den Excel-Beispielen zum Thema "Zellen bereich vergleichen"