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