Microsoft Excel

Excel und VBA: Formeln, Programmierung, Lösungen

Die Excel/VBA-Beispiele

Thema

Datum in Registry eintragen und auslesen

Gruppe

Open

Problem

Wie kann ich beim ersten Öffnen einer Arbeitsmappe in die Registry ein Datum eintragen lassen? Dieses Datum soll bei jedem weiteren Öffnen dieser Arbeitsmappe abgefragt werden. Ist es älter als 35 Tage, soll die Arbeitsmappe geschlossen werden.

Lösung
Geben Sie den Ereigniscode in das Klassenmodul der Arbeitsmappe ein.

ClassModule: DieseArbeitsmappe

Private Sub Workbook_Open()
   Dim sAbfrage As String
   sAbfrage = GetSetting( _
      appname:="MeinProg", _
      section:="Valid", _
      key:="Exit")
   If sAbfrage = "" Then
      SaveSetting _
         appname:="MeinProg", _
         section:="Valid", _
         key:="Exit", _
         Setting:=Date
      MsgBox "Heutiges Datum wurde eingetragen!"
   Else
      If CDate(sAbfrage) < Date - 35 Then
         ThisWorkbook.Close savechanges:=False
      Else
         MsgBox "Diese Arbeitsmappe wurde am" & vbLf & _
            sAbfrage & " das erste mal geöffnet!"
      End If
   End If
End Sub

StandardModule: basMain

Sub Loeschen()
   On Error Resume Next
   DeleteSetting "MeinProg"
End Sub