Feiertage berechnen und berücksichtigen - Teil 2
Die Klasse anwenden
Damit sind nun alle Methoden der Klasse erstellt. Die Anwendung und Nutzung der Klasse vollzieht sich mehreren Schritten:
-
Importieren des Codes in die Datenbank
-
Erzeugen eines Objekts aus der Klasse
-
Aufrufen der Methoden
-
Zerstören des Objekts
Zunächst müssen Sie also in die Datenbank, in der Sie die Klasse nutzen möchten, den Code der Klasse importieren.
-
Öffnen Sie dazu die Datenbank, in der Sie die Klasse nutzen möchten, und wechseln Sie mit [Alt]+[F11] in die Entwicklungsumgebung.
-
Wählen Sie Datei/Datei importieren aus, und markieren Sie die Codedatei clsFeiertage.cls mit dem Code der Klasse.
-
Kopieren Sie nun bei Bedarf noch die Textdatei mit den Feiertagen in das Verzeichnis der Datenbank. Falls Sie das nicht machen, wird die Datei aber automatisch erstellt, wenn Sie die Methode FeiertagSchreiben aufrufen.
Als Nächstes müssen Sie aus der Klasse ein Objekt erzeugen, um die Methoden der Klasse aufrufen zu können. Beispielhaft zeigt das der Code in Listing 8. Diesen Code können Sie sowohl innerhalb eines Formulars oder Berichts als auch in einem normalen Modul verwenden.
Sub KlasseTesten()
Dim objFT As clsFeiertage
Dim strName As String
Set objFT = New clsFeiertage
Debug.Print "Ostersonntag: " & objFT.Ostersonntag(2006)
Debug.Print "Karfreitag: " & objFT.Karfreitag(2006)
Debug.Print "Pfingstmontag: " & objFT.Pfingstmontag(1006)
Debug.Print "1.Advent: " & objFT.Advent1(2007)
Debug.Print "Buß- und Bettag: " & objFT.Bussundbettag(2006)
Debug.Print "5. Sonntag im Februar: " & objFT.SonntagImMonat(2006, 2, 5)
strName = ""
Debug.Print "16.04.2006 ein Feiertag?" & objFT.istFeiertag(#4/16/2006#, str-
Name);
Debug.Print "Wenn ja, welcher?: " & strName
Debug.Print objFT.IstSonntag(#4/2/2006#)
Debug.Print objFT.IstSamstag(#4/1/2006#)
Debug.Print objFT.getPfad()
objFT.FeierTagSchreiben objFT.buildPath(objFT.getPfad(), "feiertage1.txt"), _
24, 12, "Heiligabend", "D"
Debug.Print objFT.Feiertag(#5/1/2006#)
Debug.Print objFT.Feiertag(#12/24/2006#, _
objFT.buildPath(objFT.getPfad(), "feiertage1.txt"))
Set objFT = Nothing
End Sub