Update ooo320-m1
[ooovba.git] / wizards / source / schedule / LocalHolidays.xba
blob0b347c03f03129d6d5ab3123bab7653075d2e7be
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
3 <script:module xmlns:script="http://openoffice.org/2000/script" script:name="LocalHolidays" script:language="StarBasic">Option Explicit
5 Sub Main
6 Call CalAutopilotTable()
7 End Sub
10 Sub FindWholeYearHolidays_FRANCE(ByVal YearInt as Integer)
11 Dim lEasterDate&amp;
12 Dim lDate&amp;
13 CalInsertBankholiday(DateSerial(YearInt, 1, 1), &quot;Jour de l&apos;an&quot;, cHolidayType_Full)
14 lEasterDate = CalEasterTable(YearInt)
15 CalInsertBankholiday(lEasterDate, &quot;Pâques&quot;, cHolidayType_Full)
16 CalInsertBankholiday(lEasterDate + 1, &quot;Lundi de Pâques&quot;, cHolidayType_Full)
17 CalInsertBankholiday(lEasterDate + 39, &quot;Ascension&quot;, cHolidayType_Full)
18 CalInsertBankholiday(lEasterDate + 49, &quot;Pentecôte&quot;, cHolidayType_Full)
19 CalInsertBankholiday(lEasterDate + 50, &quot;Lundi de Pentecôte&quot;, cHolidayType_Full)
20 CalInsertBankholiday(DateSerial(YearInt, 5, 1), &quot;Fête du travail&quot;, cHolidayType_Full)
21 CalInsertBankholiday(DateSerial(YearInt, 5, 8), &quot;Victoire 1945&quot;, cHolidayType_Full)
22 CalInsertBankholiday(DateSerial(YearInt, 7, 14), &quot;Fête Nationale&quot;, cHolidayType_Full)
23 CalInsertBankholiday(DateSerial(YearInt, 8, 15), &quot;Assomption&quot;, cHolidayType_Full)
24 CalInsertBankholiday(DateSerial(YearInt, 11, 1), &quot;Toussaint&quot;, cHolidayType_Full)
25 CalInsertBankholiday(DateSerial(YearInt, 11, 11), &quot;Armistice ou Victoire 1918&quot;, cHolidayType_Full)
26 CalInsertBankholiday(DateSerial(YearInt, 12, 25), &quot;Noël&quot;, cHolidayType_Full)
27 End Sub
30 Sub FindWholeYearHolidays_SWED(ByVal YearInt as Integer)
31 Dim lDate&amp;
32 CalInsertBankholiday(DateSerial(YearInt, 1, 1), &quot;Nyårsdagen&quot;, cHolidayType_Full)
33 CalInsertBankholiday(DateSerial(YearInt, 1, 6), &quot;Trettondagen&quot;, cHolidayType_Full)
34 lDate = CalEasterTable(YearInt)
35 CalInsertBankholiday(lDate - 2, &quot;Långfredagen&quot;, cHolidayType_Full)
36 CalInsertBankholiday(lDate, &quot;Påskdagen&quot;, cHolidayType_Full)
37 CalInsertBankholiday(lDate + 1, &quot;Annandag påsk&quot;, cHolidayType_Full)
38 CalInsertBankholiday(lDate + 39, &quot;Kristi himmelfärds dag&quot;, cHolidayType_Full)
39 CalInsertBankholiday(lDate + 49, &quot;Pingstdagen&quot;, cHolidayType_Full)
40 CalInsertBankholiday(lDate + 50, &quot;Annandag pingst&quot;, cHolidayType_Full)
41 CalInsertBankholiday(DateSerial(YearInt, 5, 1), &quot;1:a maj&quot;, cHolidayType_Full)
42 &apos; MidSummerfeast (next Sunday after 20th June)
43 CalInsertBankholiday(GetNextWeekday(YearInt, 6, 20, 7), &quot;Midsommardagen&quot;, cHolidayType_Full)
44 CalInsertBankholiday(GetNextWeekDay(YearInt, 10, 31, 7), &quot;Alla helgons dag&quot;, cHolidayType_Full)
45 CalInsertBankholiday(DateSerial(YearInt, 12, 25), &quot;Juldagen&quot;, cHolidayType_Full)
46 CalInsertBankholiday(DateSerial(YearInt, 12, 26), &quot;Annandag jul&quot;, cHolidayType_Full)
47 End Sub
51 Sub FindWholeYearHolidays_FI(ByVal YearInt as Integer)
52 Dim OsternDate&amp;
53 &apos; New Year
54 CalInsertBankholiday(DateSerial(YearInt, 1, 1), &quot;Uudenvuodenpäivä&quot;, cHolidayType_Full)
55 &apos; &quot;the three Magi&quot;
56 CalInsertBankholiday(DateSerial(YearInt, 1, 6), &quot;Loppiainen&quot;, cHolidayType_Half)
57 OsternDate = CalEasterTable(YearInt)
58 CalInsertBankholiday(OsternDate-2, &quot;Pitkäperjantai&quot;, cHolidayType_Full)
59 CalInsertBankholiday(OsternDate, &quot;Pääsiäispäivä&quot;, cHolidayType_Full)
60 CalInsertBankholiday(OsternDate+1, &quot;2. pääsiäispäivä&quot;, cHolidayType_Full)
61 &apos; Ascension Day
62 CalInsertBankholiday(OsternDate+39, &quot;Helatorstai&quot;, cHolidayType_Full)
63 &apos; First of May
64 CalInsertBankholiday(DateSerial(YearInt, 5, 1), &quot;Vappu, suomalaisen työn päivä&quot;, cHolidayType_Full)
65 &apos; Mothers Day : 2nd Sunday in May, Full
66 CalInsertBankholiday(GetMonthDate(YearInt, 5,1,7), &quot;Äitienpäivä&quot;, cHolidayType_Full)
67 &apos; MidSummerfeast (next Sunday after 20th June)
68 CalInsertBankholiday(GetNextWeekday(YearInt, 6, 20, 7), &quot;Juhannus, Suomen lipun päivä&quot;, cHolidayType_Full)
69 &apos; Independance day
70 CalInsertBankholiday(DateSerial(YearInt, 12, 6), &quot;Itsenäisyyspäivä&quot;, cHolidayType_Full)
71 &apos; Christmas
72 CalInsertBankholiday(DateSerial(YearInt, 12, 25), &quot;Joulupäivä&quot;, cHolidayType_Full)
73 CalInsertBankholiday(DateSerial(YearInt, 12, 26), &quot;Tapaninpäivä&quot;, cHolidayType_Full)
74 End Sub
78 Sub FindWholeYearHolidays_DK (ByVal YearInt as Integer)
79 Dim lDate&amp;, VierterAdvent&amp;
81 &apos;New Year
82 CalInsertBankholiday(DateSerial(YearInt, 1, 1), &quot;Nytårsdag&quot;, cHolidayType_Full)
83 lDate = CalEasterTable (YearInt)
84 &apos; carnival
85 CalInsertBankholiday(lDate-49, &quot;Fastelavn&quot;, cHolidayType_Half)
86 &apos;&quot;Maundy Tuesday
87 CalInsertBankholiday(lDate-3, &quot;Skærtorsdag&quot;, cHolidayType_Full)
88 &apos;&quot;Good Friday &quot;
89 CalInsertBankholiday(lDate-2, &quot;Langfredag&quot;, cHolidayType_Full)
90 &apos; Easter Sunday
91 CalInsertBankholiday(lDate, &quot;Påskesøndag&quot;, cHolidayType_Full)
92 &apos; Easter Monday
93 CalInsertBankholiday(lDate+1, &quot;2. påskedag&quot;, cHolidayType_Full)
94 &apos; 4th Friday after Easter
95 CalInsertBankholiday(lDate+26, &quot;Store bededag&quot;, cHolidayType_Full)
96 &apos; &quot;Ascension Day
97 CalInsertBankholiday(lDate+39, &quot;Kristi himmelfahrt&quot;, cHolidayType_Full)
98 &apos; &quot;Whitsunday&quot;
99 CalInsertBankholiday(lDate+49, &quot;Pinsesøndag&quot;, cHolidayType_Full)
100 &apos; &quot;Whitmonday&quot;
101 CalInsertBankholiday(lDate+50, &quot;2. pinsedag&quot;, cHolidayType_Full)
102 CalInsertBankholiday(DateSerial(YearInt, 6, 5), &quot;Grundlovsdag&quot;, cHolidayType_Full)
103 &apos;Christmas Days
104 CalInsertBankholiday(DateSerial(YearInt, 12, 25), &quot;1. juledag&quot;, cHolidayType_Full)
105 CalInsertBankholiday(DateSerial(YearInt, 12, 26), &quot;2. juledag&quot;, cHolidayType_Full)
106 CalInsertBankholiday(DateSerial(YearInt, 1, 6), &quot;Hellig 3 konger&quot;, cHolidayType_Half)
107 CalInsertBankholiday(DateSerial(YearInt, 3, 28), &quot;Dr. Ingrid&quot;, cHolidayType_Half)
108 CalInsertBankholiday(DateSerial(YearInt, 4, 16), &quot;Dr. Margrete&quot;, cHolidayType_Half)
109 CalInsertBankholiday(DateSerial(YearInt, 4, 16), &quot;Palmesøndag&quot;, cHolidayType_Half)
110 &apos; &quot;Liberation day&quot;
111 CalInsertBankholiday(DateSerial(YearInt, 5, 5), &quot;Befrielsesdag&quot;, cHolidayType_Half)
112 CalInsertBankholiday(DateSerial(YearInt, 5, 26), &quot;Krpr. Frederik&quot;, cHolidayType_Half)
113 CalInsertBankholiday(DateSerial(YearInt, 6, 7), &quot;Pr. Joachim&quot;, cHolidayType_Half)
114 CalInsertBankholiday(DateSerial(YearInt, 6, 11), &quot;Pr. Henrik&quot;, cHolidayType_Half)
115 CalInsertBankholiday(DateSerial(YearInt, 6, 15), &quot;Valdemarsdag&quot;, cHolidayType_Half)
116 CalInsertBankholiday(DateSerial(YearInt, 6, 24), &quot;Skt. Hans&quot;, cHolidayType_Half)
117 CalInsertBankholiday(DateSerial(YearInt, 6, 30), &quot;Prinsesse Alexandra&quot;, cHolidayType_Half)
118 CalInsertBankholiday(DateSerial(YearInt, 8, 28), &quot;Pr. Nikolai&quot;, cHolidayType_Half)
119 CalInsertBankholiday(DateSerial(YearInt, 10, 24), &quot;FN-dag&quot;, cHolidayType_Half)
120 CalInsertBankholiday(DateSerial(YearInt, 11, 11), &quot;Morten Bisp&quot;, cHolidayType_Half)
121 &apos; all half (Memorial Days)
122 &apos;&quot;adventdays
123 VierterAdvent = DateSerial(YearInt, 12, 24)
124 While (Weekday(VierterAdvent) &lt;&gt; 1)
125 vierterAdvent = vierterAdvent - 1
126 Wend
127 CalInsertBankholiday(vierterAdvent-21, &quot;1. søndag i advent&quot;, cHolidayType_Half)
128 CalInsertBankholiday(vierterAdvent-14, &quot;2. søndag i advent&quot;, cHolidayType_Half)
129 CalInsertBankholiday(vierterAdvent-7, &quot;3. søndag i advent&quot;, cHolidayType_Half)
130 CalInsertBankholiday(vierterAdvent, &quot;4. søndag i advent&quot;, cHolidayType_Half)
131 &apos;Christmas eve
132 CalInsertBankholiday(DateSerial(YearInt, 12, 24), &quot;Juleaften&quot;, cHolidayType_Half)
133 &apos;&quot;New Year&apos;s eve&quot;
134 CalInsertBankholiday(DateSerial(YearInt, 12, 31), &quot;Nytårsaften&quot;, cHolidayType_Half)
135 End Sub
138 Sub FindWholeYearHolidays_ITA(ByVal YearInt as Integer)
139 Dim lDate&amp;
140 CalInsertBankholiday(DateSerial(YearInt, 1, 1), &quot;Capodanno&quot;, cHolidayType_Full)
141 CalInsertBankholiday(DateSerial(YearInt, 1, 6), &quot;Epifania&quot;, cHolidayType_Full)
142 CalInsertBankholiday(DateSerial(YearInt, 4, 25), &quot;Festa della liberazione&quot;, cHolidayType_Full)
143 CalInsertBankholiday(DateSerial(YearInt, 8, 15), &quot;Ferragusto&quot;, cHolidayType_Full)
144 CalInsertBankholiday(DateSerial(YearInt, 11, 1), &quot;Tutti i Santi&quot;, cHolidayType_Full)
145 CalInsertBankholiday(DateSerial(YearInt, 12, 8), &quot;Immacolata concezione&quot;, cHolidayType_Full)
146 CalInsertBankholiday(DateSerial(YearInt, 12, 25), &quot;Natale&quot;, cHolidayType_Full)
147 CalInsertBankholiday(DateSerial(YearInt, 12, 26), &quot;Santo Stefano&quot;, cHolidayType_Full)
148 lDate = CalEasterTable(YearInt)
149 CalInsertBankholiday(lDate, &quot;Pasqua&quot;, cHolidayType_Full)
150 CalInsertBankholiday(lDate+1, &quot;Lunedì dell&apos;Angelo&quot;, cHolidayType_Full)
151 End Sub
155 Sub FindWholeYearHolidays_TRK(ByVal YearInt as Integer)
156 Dim lDate as Long
157 &apos; New Years&apos; Day
158 CalInsertBankholiday(DateSerial(YearInt, 1, 1), &quot;Yılbaşı&quot;, cHolidayType_Full)
159 &apos; National Sovereignty and Children&apos;s Day
160 CalInsertBankholiday(DateSerial(YearInt, 4, 23), &quot;Ulusal Egemenlik ve Çocuk Bayramı&quot;, cHolidayType_Full)
161 &apos; Ataturk Commemoration and Youth &amp; Sports Day
162 CalInsertBankholiday(DateSerial(YearInt, 5, 19), &quot;Atatürk&apos;ü Anma, Gençlik ve Spor Bayramı&quot;, cHolidayType_Full)
163 &apos; Mothers Day : 2nd Sunday in May, Full
164 CalInsertBankholiday(GetMonthDate(YearInt, 5,1,7), &quot;Anneler günü&quot;, cHolidayType_Full)
165 &apos; Fathers Day: 3rd Sunday in May, Full
166 CalInsertBankholiday(GetMonthDate(YearInt, 6,1,14), &quot;Babalar Günü&quot;, cHolidayType_Full)
167 &apos; Victory Day
168 CalInsertBankholiday(DateSerial(YearInt, 8, 30), &quot;Zafer Bayramı&quot;, cHolidayType_Full)
169 &apos; Republic Day
170 CalInsertBankholiday(DateSerial(YearInt, 10, 28), &quot;Cumhuriyet Bayramı&quot;, cHolidayType_Full)
171 &apos; Republic Day
172 CalInsertBankholiday(DateSerial(YearInt, 10, 29), &quot;Cumhuriyet Bayramı&quot;, cHolidayType_Full)
173 &apos; Commemoration Of Ataturk-Anniversary of Ataturk&apos;s Death
174 CalInsertBankholiday(DateSerial(YearInt, 11, 10), &quot;Atatürk&apos;ün Ölüm Günü&quot;, cHolidayType_Full)
175 CalculateturkishReligousHolidays(YearInt)
176 End Sub
179 Sub CalculateturkishReligousHolidays(iSelYear as Integer)
180 Dim lKurbanBayRamStartDate as Long
181 Dim lRamazanBayRamStartDate as Long
183 Select Case iSelYear
184 Case 2002
185 lKurbanBayRamStartDate = DateSerial(iSelYear, 2, 21)
186 lRamazanBayRamStartDate = DateSerial(iSelYear, 12, 4)
187 Case 2003
188 lKurbanBayRamStartDate = DateSerial(iSelYear, 2, 10)
189 lRamazanBayRamStartDate = DateSerial(iSelYear, 11, 24)
190 Case 2004
191 lKurbanBayRamStartDate = DateSerial(iSelYear, 1, 31)
192 lRamazanBayRamStartDate = DateSerial(iSelYear, 11, 13)
193 Case 2005
194 lKurbanBayRamStartDate = DateSerial(iSelYear, 1, 19)
195 lRamazanBayRamStartDate = DateSerial(iSelYear, 11, 2)
196 Case 2006
197 lKurbanBayRamStartDate = DateSerial(iSelYear, 12, 30)
198 CalInsertBankholiday(lKurbanBayRamStartDate, &quot;Kurban Bayramı Arefesi&quot;, cHolidayType_Half)
199 CalInsertBankholiday(DateSerial(iSelYear, 12, 31), &quot;Kurban Bayram&quot;, cHolidayType_Full)
201 lKurbanBayRamStartDate = DateSerial(iSelYear, 1, 9)
202 lRamazanBayRamStartDate = DateSerial(iSelYear, 10, 22)
203 Case 2007
204 lKurbanBayRamStartDate = DateSerial(iSelYear, 1, 1)
205 &apos; Note: The first day has already been in 2006!!!
206 AddFollowUpHolidays(lKurbanBayRamStartDate-1, 3, &quot;Kurban Bayram&quot;, cHolidayType_Full)
207 lKurbanBayRamStartDate = DateSerial(iSelYear, 12, 19)
209 lRamazanBayRamStartDate = DateSerial(iSelYear, 10, 11)
210 Case 2008
211 lKurbanBayRamStartDate = DateSerial(iSelYear, 12, 7)
212 lRamazanBayRamStartDate = DateSerial(iSelYear, 9, 29)
213 Case Else
214 Exit Sub
215 End Select
216 &apos;Feast Of the Sacrifice Eve
217 CalInsertBankholiday(lKurbanBayRamStartDate, &quot;Kurban Bayramı Arefesi&quot;, cHolidayType_Half)
218 &apos;Feast Of the Sacrifice
219 AddFollowUpHolidays(lKurbanBayRamStartDate, 4, &quot;Kurban Bayram&quot;, cHolidayType_Full)
220 &apos; End of Ramadan Eve
221 CalInsertBankholiday(lRamazanBayRamStartDate, &quot;Ramazan (Şeker) Bayramı Arefesi&quot;, cHolidayType_Half)
222 &apos; End of Ramadan
223 AddFollowUpHolidays(lRamazanBayRamStartDate, 3, &quot;Ramazan (Şeker) Bayramı&quot;, cHolidayType_Full)
224 End Sub
227 Sub FindWholeYearHolidays_GREEK(ByVal YearInt as Integer)
228 Dim lDate as Long
229 &apos; New Year
230 CalInsertBankholiday(DateSerial(YearInt, 1, 1), &quot;Πρωτοχρονιά&quot;, cHolidayType_Full)
231 &apos;Schol Holiday
232 CalInsertBankholiday(DateSerial(YearInt, 12, 30), &quot;Τριών Ιεραρχών&quot;, cHolidayType_Full)
233 &apos; This is both a National Holiday and a religious holiday
234 CalInsertBankholiday(DateSerial(YearInt, 3, 25), &quot;Εθνική Εορτή Ευαγγελισμός Θεοτόκου&quot;, cHolidayType_Full)
235 &apos; Labor Day
236 CalInsertBankholiday(DateSerial(YearInt, 5, 1), &quot;Πρωτομαγιά&quot;, cHolidayType_Full)
237 &apos; Assumption Day
238 CalInsertBankholiday(DateSerial(YearInt, 8, 15), &quot;Κοίμηση της Θεοτόκου&quot;, cHolidayType_Full)
239 &apos; National Resistance Day
240 CalInsertBankholiday(DateSerial(YearInt, 10, 28), &quot;Εθνική Εορτή&quot;, cHolidayType_Full)
241 &apos; School Holiday
242 CalInsertBankholiday(DateSerial(YearInt, 11, 17), &quot;Επέτειος του Πολυτεχνείου&quot;, cHolidayType_Full)
243 &apos; Christmas Eve
244 CalInsertBankholiday(DateSerial(YearInt, 12, 24), &quot;Παραμονή Χριστουγέννων&quot;, cHolidayType_Full)
245 &apos; Christmas Day
246 CalInsertBankholiday(DateSerial(YearInt, 12, 25), &quot;Χριστούγεννα&quot;, cHolidayType_Full)
247 &apos; Boxing Day
248 CalInsertBankholiday(DateSerial(YearInt, 12, 26), &quot;Δεύτερη μέρα Χριστουγέννων&quot;, cHolidayType_Full)
249 lDate = CalOrthodoxEasterTable(YearInt)
250 &apos; Triodon
251 CalInsertBankholiday(lDate-70, &quot;Αρχή Τριωδίου&quot;, cHolidayType_Full)
252 &apos; Meat Fare
253 CalInsertBankholiday(lDate-56, &quot;Τσικνοπέμπτη&quot;, cHolidayType_Full)
254 &apos; First Day of Lent
255 CalInsertBankholiday(lDate-48, &quot;Καθαρή Δευτέρα&quot;, cHolidayType_Full)
256 &apos; Saturday of Lazarus
257 CalInsertBankholiday(lDate-8, &quot;Σάββατο του Λαζάρου&quot;, cHolidayType_Full)
258 &apos; Palm Sunday
259 CalInsertBankholiday(lDate-7, &quot;Κυριακή των Βαΐων&quot;, cHolidayType_Full)
260 &apos; Monday before Easter
261 CalInsertBankholiday(lDate-6, &quot;Μεγάλη Δευτέρα&quot;, cHolidayType_Full)
262 &apos; Tuesday before Easter
263 CalInsertBankholiday(lDate-5, &quot;Μεγάλη Τρίτη&quot;, cHolidayType_Full)
264 &apos; Wednesday before Easter
265 CalInsertBankholiday(lDate-4, &quot;Μεγάλη Τετάρτη&quot;, cHolidayType_Full)
266 &apos; Thursday before Easter
267 CalInsertBankholiday(lDate-3, &quot;Μεγάλη Πέμπτη&quot;, cHolidayType_Full)
268 &apos; Good Friday
269 CalInsertBankholiday(lDate-2, &quot;Μεγάλη Παρασκευή&quot;, cHolidayType_Full)
270 &apos; Saturday before Easter
271 CalInsertBankholiday(lDate-1, &quot;Μεγάλο Σάββατο&quot;, cHolidayType_Full)
272 &apos; Easter Monday
273 CalInsertBankholiday(lDate+1, &quot;Δευτέρα του Πάσχα&quot;, cHolidayType_Full)
274 &apos; Pentecost
275 CalInsertBankholiday(lDate+49, &quot;Κυριακή της Πεντηκοστής&quot;, cHolidayType_Full)
276 &apos; Ascension Day
277 CalInsertBankholiday(lDate+39, &quot;Του Αγίου Πνεύματος&quot;, cHolidayType_Full)
278 &apos; All Saints Day
279 CalInsertBankholiday(lDate+56, &quot;Των Αγίων Πάντων&quot;, cHolidayType_Full)
280 End Sub
284 Sub FindWholeYearHolidays_SPAIN(ByVal YearInt as Integer)
285 Dim lDate&amp;
286 CalInsertBankholiday(DateSerial(YearInt, 1, 1), &quot;Año Nuevo&quot;, cHolidayType_Full)
287 CalInsertBankholiday(DateSerial(YearInt, 1, 6), &quot;Reyes&quot;, cHolidayType_Full)
288 lDate = CalEasterTable(YearInt)
289 CalInsertBankholiday(lDate-2, &quot;Viernes Santo&quot;, cHolidayType_Full)
290 CalInsertBankholiday(lDate+1, &quot;Lunes de Pascua Florida&quot;, cHolidayType_Full)
291 CalInsertBankholiday(lDate+39, &quot;Día de la Ascensión&quot;, cHolidayType_Full)
292 CalInsertBankholiday(DateSerial(YearInt, 5, 1), &quot;Fiesta del Trabajo&quot;, cHolidayType_Full)
293 CalInsertBankholiday(DateSerial(YearInt, 8, 15), &quot;Día de la Asunción&quot;, cHolidayType_Full)
294 CalInsertBankholiday(DateSerial(YearInt, 10, 12), &quot;Fiesta de la Hispanidad&quot;, cHolidayType_Full)
295 CalInsertBankholiday(DateSerial(YearInt, 11, 1), &quot;Todos los Santos&quot;, cHolidayType_Full)
296 CalInsertBankholiday(DateSerial(YearInt, 12, 6), &quot;Día de la Constitución&quot;, cHolidayType_Full)
297 CalInsertBankholiday(DateSerial(YearInt, 12, 8), &quot;La Inmaculada&quot;, cHolidayType_Full)
298 CalInsertBankholiday(DateSerial(YearInt, 12, 25), &quot;Navidad&quot;, cHolidayType_Full)
299 End Sub
302 Sub FindWholeYearHolidays_PORT(ByVal YearInt as Integer)
303 Dim lDate&amp;
304 CalInsertBankholiday(DateSerial(YearInt, 1, 1), &quot;Ano Novo&quot;, cHolidayType_Full)
305 CalInsertBankholiday(DateSerial(YearInt, 1, 6), &quot;Reis Magos&quot;, cHolidayType_Half)
306 lDate = CalEasterTable(YearInt)
307 CalInsertBankholiday(lDate-47, &quot;Carnaval&quot;, cHolidayType_Full)
308 CalInsertBankholiday(lDate-7, &quot;Domingo de Ramos&quot;, cHolidayType_Half)
309 CalInsertBankholiday(lDate-2, &quot;Sexta-feira Santa&quot;, cHolidayType_Full)
310 CalInsertBankholiday(lDate, &quot;Páscoa&quot;, cHolidayType_Full)
311 CalInsertBankholiday(DateSerial(YearInt, 4, 25), &quot;25 de Abril&quot;, cHolidayType_Full)
312 CalInsertBankholiday(DateSerial(YearInt, 5, 1), &quot;Dia do Trabalhador&quot;, cHolidayType_Full)
313 CalInsertBankholiday(DateSerial(YearInt, 5, 29), &quot;Corpo de Deus&quot;, cHolidayType_Full)
314 CalInsertBankholiday(DateSerial(YearInt, 6, 10), &quot;Dia de Camões e das Comunidades Portuguesas&quot;, cHolidayType_Full)
315 CalInsertBankholiday(DateSerial(YearInt, 6, 24), &quot;S. João&quot;, cHolidayType_Full)
316 CalInsertBankholiday(DateSerial(YearInt, 6, 29), &quot;S. Pedro&quot;, cHolidayType_Full)
317 CalInsertBankholiday(DateSerial(YearInt, 8, 15), &quot;Assunção de Nossa Senhora&quot;, cHolidayType_Full)
318 CalInsertBankholiday(DateSerial(YearInt, 10, 5), &quot;Implantação da República&quot;, cHolidayType_Full)
319 CalInsertBankholiday(DateSerial(YearInt, 11, 1), &quot;Dia de Todos os Santos&quot;, cHolidayType_Full)
320 CalInsertBankholiday(DateSerial(YearInt, 12, 8), &quot;Imaculada Conceição&quot;, cHolidayType_Full)
321 CalInsertBankholiday(DateSerial(YearInt, 12, 25), &quot;Natal&quot;, cHolidayType_Full)
322 CalInsertBankholiday(DateSerial(YearInt, 12, 1), &quot;Restauração da Independência&quot;, cHolidayType_Full)
323 CalInsertBankholiday(DateSerial(YearInt, 12, 31), &quot;Passagem de Ano&quot;, cHolidayType_Half)
324 End Sub
327 Sub FindWholeYearHolidays_NL(ByVal YearInt as Integer)
328 Dim lDate&amp;
329 CalInsertBankholiday(DateSerial(YearInt, 1, 1), &quot;Nieuwjaarsdag&quot;, cHolidayType_Full)
330 lDate = CalEasterTable(YearInt)
331 CalInsertBankholiday(lDate, &quot;1e Paasdag&quot;, cHolidayType_Full)
332 CalInsertBankholiday(lDate + 1, &quot;2e Paasdag&quot;, cHolidayType_Full)
333 CalInsertBankholiday(lDate + 39, &quot;Hemelvaartsdag&quot;, cHolidayType_Full)
334 CalInsertBankholiday(lDate + 49, &quot;1e Pinksterdag&quot;, cHolidayType_Full)
335 CalInsertBankholiday(lDate + 50, &quot;2e Pinksterdag&quot;, cHolidayType_Full)
336 CalInsertBankholiday(DateSerial(YearInt, 4, 30), &quot;Koninginnedag&quot;, cHolidayType_Full)
337 &apos; Bevrijdingsdag is celebrated every 5th year
338 If YearInt Mod 5 = 0 then
339 CalInsertBankholiday(DateSerial(YearInt, 5, 5), &quot;Bevrijdingsdag&quot;, cHolidayType_Full)
340 End if
341 CalInsertBankholiday(DateSerial(YearInt, 12, 6), &quot;Sinterklaas&quot;, cHolidayType_Half)
342 CalInsertBankholiday(DateSerial(YearInt, 12, 25), &quot;1e Kerstdag&quot;, cHolidayType_Full)
343 CalInsertBankholiday(DateSerial(YearInt, 12, 26), &quot;2e Kerstdag&quot;, cHolidayType_Full)
344 End Sub
347 Sub FindWholeYearHolidays_PL (ByVal YearInt as Integer)
348 Dim lDate&amp;, OsternDate&amp;
349 &apos; New Year
350 CalInsertBankholiday(DateSerial(YearInt, 1, 1), &quot;Nowy Rok&quot;, cHolidayType_Full)
351 &apos; &quot;the three Magi&quot;
352 CalInsertBankholiday(DateSerial(YearInt, 1, 6), &quot;Trzech Króli&quot;, cHolidayType_Half)
353 &apos; &quot;Womens&apos; Day&quot;
354 CalInsertBankholiday(DateSerial(YearInt, 3, 8), &quot;Dzień Kobiet&quot;, cHolidayType_Half)
355 OsternDate = CalEasterTable(YearInt)
356 CalInsertBankholiday(OsternDate-2, &quot;Wielki Piątek&quot;, cHolidayType_Full)
357 CalInsertBankholiday(OsternDate, &quot;Wielka Niedziela&quot;, cHolidayType_Full)
358 CalInsertBankholiday(OsternDate+1, &quot;Lany Poniedziałek&quot;, cHolidayType_Full)
359 &apos; Ascension Day
360 CalInsertBankholiday(OsternDate+39, &quot;Wniebowstąpienie&quot;, cHolidayType_Full)
361 &apos; Pentecost
362 CalInsertBankholiday(OsternDate+49, &quot;Zielone Świątki&quot;, cHolidayType_Full)
363 &apos; Feast of Corpus Christi
364 CalInsertBankholiday(OsternDate+60, &quot;Boże Ciało&quot;, cHolidayType_Full)
365 &apos; First of May
366 CalInsertBankholiday(DateSerial(YearInt, 5, 1), &quot;Święto pracy&quot;, cHolidayType_Full)
367 &apos; Memorial day of constitution
368 CalInsertBankholiday(DateSerial(YearInt, 5, 3), &quot;Dzień konstytucji 3-go maja&quot;, cHolidayType_Full)
369 &apos; &quot;Childrens&apos; day&quot;
370 CalInsertBankholiday(DateSerial(YearInt, 6, 1), &quot;Dzień Dziecka&quot;, cHolidayType_Half)
371 &apos; &quot;Ascension Day&quot;
372 CalInsertBankholiday(DateSerial(YearInt, 8, 15), &quot;Matki Boskiej Zielnej&quot;, cHolidayType_Half)
373 &apos; &quot;All Saints&apos; Day &quot;
374 CalInsertBankholiday(DateSerial(YearInt, 11, 1), &quot;Wszystkich Świętych&quot;, cHolidayType_Full)
375 &apos; National day&quot;
376 CalInsertBankholiday(DateSerial(YearInt, 11, 11), &quot;Dzień Niepodległości&quot;, cHolidayType_Full)
377 &apos; Christmas Eve
378 CalInsertBankholiday(DateSerial(YearInt, 12, 24), &quot;Wigilia&quot;, cHolidayType_Half)
379 &apos; Christmas
380 CalInsertBankholiday(DateSerial(YearInt, 12, 25), &quot;Boże Narodzenie&quot;, cHolidayType_Full)
381 CalInsertBankholiday(DateSerial(YearInt, 12, 26), &quot;Boże Narodzenie&quot;, cHolidayType_Full)
382 &apos; &quot;New Year&apos;s eve&quot;
383 CalInsertBankholiday(DateSerial(YearInt, 12, 31), &quot;Sylwester&quot;, cHolidayType_Half)
384 End Sub
387 Sub FindWholeYearHolidays_RU (ByVal YearInt as Integer)
388 Dim lDate&amp;
389 &apos; New Year
390 CalInsertBankholiday(DateSerial(YearInt, 1, 1), &quot;Новый Год&quot;, cHolidayType_Full)
391 CalInsertBankholiday(DateSerial(YearInt, 1, 2), &quot;Новый Год&quot;, cHolidayType_Full)
392 &apos; Russian Christmas&quot;
393 CalInsertBankholiday(DateSerial(YearInt, 1, 7), &quot;Рождество&quot;, cHolidayType_Full)
394 &apos;Day of Defender of Motherland
395 CalInsertBankholiday(DateSerial(YearInt, 2, 23), &quot;День Защитника Отечества&quot;, cHolidayType_Full)
396 &apos; Woman Day
397 CalInsertBankholiday(DateSerial(YearInt, 3, 8), &quot;Международный Женский День&quot;, cHolidayType_Full)
398 &apos; Spring and labor holiday
399 CalInsertBankholiday(DateSerial(YearInt, 5, 1), &quot;Праздник Весны и Труда&quot;, cHolidayType_Full)
400 CalInsertBankholiday(DateSerial(YearInt, 5, 2), &quot;Праздник Весны и Труда&quot;, cHolidayType_Full)
401 &apos; Victory of the second World War
402 CalInsertBankholiday(DateSerial(YearInt, 5, 9), &quot;День Победы&quot;, cHolidayType_Full)
403 &apos; Independence Day
404 CalInsertBankholiday(DateSerial(YearInt, 6, 12), &quot;День Независимости&quot;, cHolidayType_Full)
405 &apos; Day of Accord and Conciliation
406 CalInsertBankholiday(DateSerial(YearInt, 11, 7), &quot;День Согласия и Примирения&quot;, cHolidayType_Full)
407 &apos; Constitution Day
408 CalInsertBankholiday(DateSerial(YearInt, 12, 12), &quot;День Конституции&quot;, cHolidayType_Full)
409 End Sub
412 Sub FindWholeYearHolidays_US(ByVal YearInt as Integer)
413 Dim lDate as Long
414 Dim lFirstNov as Long
415 Dim lElectDate as Long
416 CalInsertBankholiday(DateSerial(YearInt, 1, 1), &quot;New Year&apos;s Day&quot;, cHolidayType_Full)
417 CalInsertBankholiday(DateSerial(YearInt, 2, 2), &quot;Groundhog Day&quot;, cHolidayType_Half)
418 CalInsertBankholiday(DateSerial(YearInt, 2, 14), &quot;Valentine&apos;s Day&quot;, cHolidayType_Half)
419 CalInsertBankholiday(DateSerial(YearInt, 3, 17), &quot;St Patrick&apos;s Day&quot;, cHolidayType_Half)
420 CalInsertBankholiday(DateSerial(YearInt, 4, 1), &quot;April Fools&apos; Day&quot;, cHolidayType_Half)
421 CalInsertBankholiday(DateSerial(YearInt, 4, 22), &quot;Earth Day&quot;, cHolidayType_Half)
422 CalInsertBankholiday(DateSerial(YearInt, 5, 6), &quot;Nurses&apos; Day&quot;, cHolidayType_Half)
423 CalInsertBankholiday(DateSerial(YearInt, 6, 14), &quot;Flag Day&quot;, cHolidayType_Half)
424 CalInsertBankholiday(DateSerial(YearInt, 6, 14), &quot;Army Day&quot;, cHolidayType_Half)
425 CalInsertBankholiday(DateSerial(YearInt, 6, 19), &quot;Juneteenth(Liberation of Slaves)&quot;, cHolidayType_Half)
427 CalInsertBankholiday(DateSerial(YearInt, 7, 4), &quot;Independence Day&quot;, cHolidayType_Full)
428 CalInsertBankholiday(DateSerial(YearInt, 8, 1), &quot;Air Force Day&quot;, cHolidayType_Half)
429 CalInsertBankholiday(DateSerial(YearInt, 8, 4), &quot;Coast Guard Day&quot;, cHolidayType_Half)
430 CalInsertBankholiday(DateSerial(YearInt, 9, 17), &quot;Citizenship Day or Constitution Day&quot;, cHolidayType_Half)
431 CalInsertBankholiday(DateSerial(YearInt, 10, 16), &quot;Bosses&apos; Day&quot;, cHolidayType_Half)
432 CalInsertBankholiday(DateSerial(YearInt, 10, 26 ), &quot;Mother-in-Law&apos;s Day&quot;, cHolidayType_Half)
433 CalInsertBankholiday(DateSerial(YearInt, 10, 27), &quot;Navy Day&quot;, cHolidayType_Half)
434 CalInsertBankholiday(DateSerial(YearInt, 10, 31), &quot;Halloween&quot;, cHolidayType_Half)
435 CalInsertBankholiday(DateSerial(YearInt, 11, 10), &quot;Marine Corps Day&quot;, cHolidayType_Half)
436 CalInsertBankholiday(DateSerial(YearInt, 11, 11), &quot;Veteran&apos;s Day&quot;, cHolidayType_Full)
437 CalInsertBankholiday(DateSerial(YearInt, 12, 7), &quot;Pearl Harbor Remembrance Day&quot;, cHolidayType_Half)
438 CalInsertBankholiday(DateSerial(YearInt, 12, 24), &quot;Christmas Eve&quot;, cHolidayType_Half)
439 CalInsertBankholiday(DateSerial(YearInt, 12, 25), &quot;Christmas Day&quot;, cHolidayType_Full)
440 CalInsertBankholiday(DateSerial(YearInt, 12, 31), &quot;New Year&apos;s Eve&quot;, cHolidayType_Half)
442 CalInsertBankholiday(CalEasterTable(YearInt), &quot;Easter Sunday&quot;, cHolidayType_Half)
444 &apos; Inauguration Day occurs every 4 years (1997, 2001) in the year following the presidential election
445 &apos; always on the 20th of January unless this is a Sunday in which case on Monday 21st January
446 If YearInt Mod 4 = 1 Then
447 lDate = DateSerial(YearInt, 1, 20)
448 If WeekDay(lDate) = 1 Then
449 CalInsertBankholiday(lDate + 1, &quot;Inauguration Day&quot;, cHolidayType_Half)
450 Else
451 CalInsertBankholiday(lDate, &quot;Inauguration Day&quot;, cHolidayType_Half)
452 End If
453 End If
454 &apos; First Tuesday in November, but only after the 1st of November and only on evenly numbered years
455 If YearInt Mod 2 = 0 Then
456 lFirstNov = DateSerial(YearInt, 11, 1)
457 lElectDate = GetMonthDate(YearInt, 11, 3, 0)
458 If lElectDate &gt; lFirstNov Then
459 CalInsertBankholiday(lElectDate, &quot;Election Day&quot;, cHolidayType_Half)
460 Else
461 CalInsertBankholiday(lElectDate + 7, &quot;Election Day&quot;, cHolidayType_Half)
462 End If
463 End If
464 CalInsertBankholiday(GetMonthDate(YearInt, 1, 2, 14), &quot;Martin Luther King Jr Day&quot;, cHolidayType_Full)
465 CalInsertBankholiday(GetMonthDate(YearInt, 2, 2, 14), &quot;President&apos;s Day&quot;, cHolidayType_Full)
466 &apos; Mothers Day : 2nd Sunday in May, Full
467 CalInsertBankholiday(GetMonthDate(YearInt, 5,1,7), &quot;Mother&apos;s Day&quot;, cHolidayType_Full)
469 &apos; Wednesday of the last full week of April Administrative Professionals&apos; Day (formerly Secretaries&apos; Day)
470 CalInsertBankholiday(GetMonthDate(YearInt, 5, 7, -7)-3, &quot;Administrative Professionals&apos; Day&quot;, cHolidayType_Half)
472 CalInsertBankholiday(GetMonthDate(YearInt, 5, 5, 0), &quot;National Day of Prayer&quot;, cHolidayType_Half)
473 CalInsertBankholiday(GetMonthDate(YearInt, 5, 7, 14), &quot;Armed Forces Day&quot;, cHolidayType_Half)
474 &apos; Fathers Day : 3rd Sunday in June
475 CalInsertBankholiday(GetMonthDate(YearInt, 6,1,14), &quot;Father&apos;s Day&quot;, cHolidayType_Half)
477 &apos; Last Monday in May: Menorial Day, Full
478 CalInsertBankholiday(GetMonthDate(YearInt, 6, 2, 0)-7, &quot;Memorial Day&quot;, cHolidayType_Full)
479 CalInsertBankholiday(GetMonthDate(YearInt, 7, 1, 21), &quot;Parents&apos; Day&quot;, cHolidayType_Half)
480 CalInsertBankholiday(GetMonthDate(YearInt, 8, 1, 0), &quot;Friendship Day&quot;, cHolidayType_Half)
482 &apos; 1st Monday in Sep : Labor Day, Full
483 CalInsertBankholiday(GetMonthDate(YearInt, 9, 2, 0), &quot;Labor Day&quot;, cHolidayType_Full)
484 &apos; Sunday after Labor Day Grandparents&apos; Day
485 CalInsertBankholiday(GetMonthDate(YearInt, 9, 2, 0)+6, &quot;Grandparents&apos; Day&quot;, cHolidayType_Half)
487 CalInsertBankholiday(GetMonthDate(YearInt, 10, 1, 0), &quot;National Children&apos;s Day&quot;, cHolidayType_Half)
488 CalInsertBankholiday(GetMonthDate(YearInt, 10, 2, 7), &quot;Columbus Day&quot;, cHolidayType_Full)
489 &apos; Sweetest Day: Third Saturday in October
490 CalInsertBankholiday(GetMonthDate(YearInt, 10, 7, 14), &quot;Sweetest Day&quot;, cHolidayType_Half)
491 &apos; 4th Thu in Nov : Thanksgiving, Full
492 CalInsertBankholiday(GetMonthDate(YearInt, 11, 5, 21), &quot;Thanksgiving&quot;, cHolidayType_Full)
493 End Sub
496 Sub FindWholeYearHolidays_JP(ByVal YearInt as Integer)
497 Dim lDate&amp;
498 CalInsertBankholiday(DateSerial(YearInt, 1, 1), &quot;元日&quot;, cHolidayType_Full)
499 &apos; 2nd Monday in January
500 CalInsertBankholiday(GetMonthDate(YearInt, 1, 2, 7), &quot;成人の日&quot;, cHolidayType_Full)
501 CalInsertBankholiday(DateSerial(YearInt, 2, 11), &quot;建国記念の日&quot;, cHolidayType_Full)
502 CalInsertBankholiday(DateSerial(YearInt, 3, 20), &quot;春分の日&quot;, cHolidayType_Full)
503 CalInsertBankholiday(DateSerial(YearInt, 4, 29), &quot;みどりの日&quot;, cHolidayType_Full)
504 CalInsertBankholiday(DateSerial(YearInt, 5, 3), &quot;憲法記念日&quot;, cHolidayType_Full)
505 CalInsertBankholiday(DateSerial(YearInt, 5, 4), &quot;国民の休日&quot;, cHolidayType_Full)
506 CalInsertBankholiday(DateSerial(YearInt, 5, 5), &quot;こどもの日&quot;, cHolidayType_Full)
507 CalInsertBankholiday(DateSerial(YearInt, 9, 23), &quot;秋分の日&quot;, cHolidayType_Full)
508 CalInsertBankholiday(GetMonthDate(YearInt, 10, 2, 7), &quot;体育の日&quot;, cHolidayType_Full)
509 CalInsertBankholiday(DateSerial(YearInt, 11, 3), &quot;文化の日&quot;, cHolidayType_Full)
510 CalInsertBankholiday(DateSerial(YearInt, 11, 23), &quot;勤労感謝の日&quot;, cHolidayType_Full)
511 CalInsertBankholiday(DateSerial(YearInt, 12, 23), &quot;天皇誕生日&quot;, cHolidayType_Full)
512 If YearInt &gt; 2002 Then
513 CalInsertBankholiday(GetMonthDate(YearInt, 7, 2, 14), &quot;海の日&quot;, cHolidayType_Full)
514 CalInsertBankholiday(GetMonthDate(YearInt, 9, 2, 14), &quot;敬老の日&quot;, cHolidayType_Full)
515 Else
516 CalInsertBankholiday(DateSerial(YearInt, 7, 20), &quot;海の日&quot;, cHolidayType_Full)
517 CalInsertBankholiday(DateSerial(YearInt, 9, 15), &quot;敬老の日&quot;, cHolidayType_Full)
518 End If
519 End Sub
522 Sub FindWholeYearHolidays_TW(YearInt as Integer)
523 CalculateChineseNewYear(YearInt)
524 CalInsertBankholiday(DateSerial(YearInt, 1, 1), &quot;元旦&quot;, cHolidayType_Full)
525 CalInsertBankholiday(DateSerial(YearInt, 2, 28), &quot;和平紀念日&quot;, cHolidayType_Full)
526 CalInsertBankholiday(DateSerial(YearInt, 3, 8), &quot;婦女節&quot;, cHolidayType_Half)
527 CalInsertBankholiday(DateSerial(YearInt, 3, 29), &quot;革命先烈紀念日(青年節)&quot;, cHolidayType_Half)
528 CalInsertBankholiday(DateSerial(YearInt, 4, 4), &quot;兒童節&quot;, cHolidayType_Half)
529 CalInsertBankholiday(DateSerial(YearInt, 4, 5), &quot;民族掃墓節&quot;, cHolidayType_Full)
530 CalInsertBankholiday(DateSerial(YearInt, 5, 1), &quot;勞動節&quot;, cHolidayType_Full)
531 CalInsertBankholiday(GetNextWeekDay(YearInt, 5, 19, 2), &quot;佛陀誕辰紀念日&quot;, cHolidayType_Full) &apos; Just like Columbus Day
532 CalInsertBankholiday(DateSerial(YearInt, 6, 15), &quot;端午節&quot;, cHolidayType_Full)
533 CalInsertBankholiday(DateSerial(YearInt, 9, 3), &quot;軍人節&quot;, cHolidayType_Half)
534 CalInsertBankholiday(DateSerial(YearInt, 9, 21), &quot;中秋節&quot;, cHolidayType_Full)
535 CalInsertBankholiday(GetNextWeekDay(YearInt, 9, 28, 2), &quot;孔子誕辰紀念日(教師節)&quot;, cHolidayType_Full) &apos; Just like Columnbusday
536 CalInsertBankholiday(DateSerial(YearInt, 10, 10), &quot;國慶日&quot;, cHolidayType_Full)
537 CalInsertBankholiday(DateSerial(YearInt, 10, 25), &quot;臺灣光復節&quot;, cHolidayType_Half)
538 CalInsertBankholiday(DateSerial(YearInt, 10, 31), &quot;先總統 蔣公誕辰紀念日&quot;, cHolidayType_Half)
539 CalInsertBankholiday(DateSerial(YearInt, 12, 11), &quot;國父誕辰紀念日(中華文化復興節)&quot;, cHolidayType_Half)
540 CalInsertBankholiday(DateSerial(YearInt, 12, 25), &quot;行憲紀念日&quot;, cHolidayType_Half)
541 End Sub
544 Sub FindWholeYearHolidays_CN(YearInt as Integer)
545 CalculateChineseNewYear(YearInt)
546 CalInsertBankholiday(DateSerial(YearInt, 1, 1), &quot;元旦&quot;, cHolidayType_Full) &apos; New Year
547 CalInsertBankholiday(DateSerial(YearInt, 3, 8), &quot;妇女节&quot;, cHolidayType_Half) &apos; Women&apos;s Day
548 CalInsertBankholiday(DateSerial(YearInt, 4, 5), &quot;清明节&quot;, cHolidayType_Half) &apos; Day of the deads
549 CalInsertBankholiday(DateSerial(YearInt, 5, 1), &quot;劳动节&quot;, cHolidayType_Full) &apos; International Labour Day
550 CalInsertBankholiday(DateSerial(YearInt, 6, 1), &quot;儿童节&quot;, cHolidayType_Half) &apos; Children&apos;s Day
551 CalInsertBankholiday(DateSerial(YearInt, 8, 1), &quot;建军节&quot;, cHolidayType_Half) &apos; Foundation of military
552 CalInsertBankholiday(DateSerial(YearInt, 10, 1), &quot;国庆节&quot;, cHolidayType_Full) &apos; National festival day
553 End Sub
556 &apos; Unfortunately I could not find a Routine to convert a &apos;Moon Date&apos; into a gregorian date
557 Sub CalculateChineseNewYear(iSelYear as Integer)
558 Dim lDate as Long
559 Select Case iSelYear
560 Case 1995
561 lDate = DateSerial(iSelYear, 1, 31)
562 Case 1996
563 lDate = DateSerial(iSelYear, 2, 19)
564 Case 1997
565 lDate = DateSerial(iSelYear, 2, 7)
566 Case 1998
567 lDate = DateSerial(iSelYear, 1, 28)
568 Case 1999
569 lDate = DateSerial(iSelYear,2, 16)
570 Case 2000
571 lDate = DateSerial(iSelYear,2, 5)
572 Case 2001
573 lDate = DateSerial(iSelYear, 1, 24)
574 Case 2002
575 lDate = DateSerial(iSelYear,2, 12)
576 Case 2003
577 lDate = DateSerial(iSelYear,2, 1)
578 Case 2004
579 lDate = DateSerial(iSelYear, 1, 22)
580 Case 2005
581 lDate = DateSerial(iSelYear,2, 9)
582 Case 2006
583 lDate = DateSerial(iSelYear, 1, 29)
584 Case 2007
585 lDate = DateSerial(iSelYear,2, 18)
586 Case 2008
587 lDate = DateSerial(iSelYear,2, 7)
588 Case 2009
589 lDate = DateSerial(iSelYear, 1, 26)
590 Case 2010
591 lDate = DateSerial(iSelYear,2, 10)
592 Case 2011
593 lDate = DateSerial(iSelYear,2, 3)
594 Case 2012
595 lDate = DateSerial(iSelYear, 1, 23)
596 Case 2013
597 lDate = DateSerial(iSelYear,2, 10)
598 Case 2014
599 lDate = DateSerial(iSelYear, 1, 31)
600 Case 2015
601 lDate = DateSerial(iSelYear,2, 19)
602 Case 2016
603 lDate = DateSerial(iSelYear,2, 9)
604 Case 2017
605 lDate = DateSerial(iSelYear, 1, 28)
606 Case 2018
607 lDate = DateSerial(iSelYear,2, 16)
608 Case 2019
609 lDate = DateSerial(iSelYear,2, 5)
610 Case 2020
611 lDate = DateSerial(iSelYear, 1, 25)
612 Case Else
613 Exit Sub
614 End Select
615 Select Case sCurCountryLocale
616 Case &quot;CN&quot;
617 CalInsertBankholiday(lDate-1, &quot;农历除夕&quot;, cHolidayType_Full)
618 CalInsertBankholiday(lDate, &quot;春节初一&quot;, cHolidayType_Full)
619 CalInsertBankholiday(lDate+1, &quot;春节初二&quot;, cHolidayType_Full)
620 CalInsertBankholiday(lDate+2, &quot;春节初三&quot;, cHolidayType_Full)
622 Case Else
623 CalInsertBankholiday(lDate-1, &quot;農曆除夕&quot;, cHolidayType_Full)
624 CalInsertBankholiday(lDate, &quot;春節初一&quot;, cHolidayType_Full)
625 CalInsertBankholiday(lDate+1, &quot;春節初二&quot;, cHolidayType_Full)
626 CalInsertBankholiday(lDate+2, &quot;春節初三&quot;, cHolidayType_Full)
627 End Select
628 End Sub
631 Function CalculateJapaneseSpringDay(iSelYear as Integer)
632 If (iSelYear &gt; 1979) And (iSelYear &lt; 2100) Then
633 CalculateJapaneseSpringDay() = Int(20.8431 + 0.242194)* (iSelYear-1980) - (Int((iSelYear-1980)/4))
634 End If
635 End Function
638 Function CalculateJapaneseAutumnDay(iSelYear as Integer)
639 If (iSelYear &gt; 1979) And (iSelYear &lt; 2100) Then
640 CalculateJapaneseAutumnDay() = Int(23.8431 + 0.242194)* (iSelYear-1980) - (Int((iSelYear-1980)/4))
641 End If
642 End Function</script:module>