Parameter: Glauben Sie es? Dieses Modul kann Dutzende Male schneller geschrieben werden als jede andere Methode! Die Parameter sind wie folgt:
1: Welcher Tag ist der Basistag?
2: (Optional) Welchen Wochentag suchen Sie? Wenn nicht angegeben, ist der Standardwert Samstag
3: (Optional) Sollten Sie vorwärts (Vergangenheit) oder rückwärts (Zukunft) suchen?
Wenn nicht angegeben, ist der Standardwert die Suche in der Zukunft (Zukunft).
Programmcode
PublicFunctionSpecificWeekday(ByValDAsDate,OptionalByValWhatDayAsVbDayOfWeek=vbSaturday,OptionalGetNextAsBoolean=True)AsDate
SpecificWeekday=(((D-WhatDay GetNext)/7)-GetNext)*7 WhatDay
EndFunction
Vielleicht möchten Sie wissen, warum das Programm so geschrieben ist?
Wussten Sie? In VB ist der Basistag (0. Tag) aller Datumsfunktionen der 30. Dezember 1899 (Samstag) und der erste Tag ist der 31. Dezember 1899 (Sonntag), sodass der WeekDay-Funktionsalgorithmus von VB tatsächlich (Datum-1) ist. Mod7 1.
Rückgabewert
Datum
Beispiel:
Ich würde gerne wissen, welcher der folgenden Tage das ist?
Letzter Montag: SpecificWeekday(Now,vbMonday,False)
Nächsten Samstag: SpecificWeekday(Jetzt)
Nächsten Freitag, 9. September 2000: SpecificWeekday("09/09/2000",vbFriday)->