VBA-Programmierung in Microsoft Excel

Tutorial: Excel-Beispiele

Datum in Registry eintragen und auslesen

Gruppe

Ereignis

Bereich

Open

Thema

Datum in Registry eintragen und auslesen

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

    


Beiträge aus dem Excel-Forum zu den Themen Ereignis und Open