home *** CD-ROM | disk | FTP | other *** search
/ DOS/V Power Report 2004 June / VPR0406.ISO / STARSUITE7 / EVALUATION / windows / office7 / f_0218 / LocalHolidays.xba < prev    next >
Extensible Markup Language  |  2002-10-29  |  37KB  |  640 lines

  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
  4.  
  5. Sub Main
  6.     Call CalAutopilotTable()
  7. End Sub
  8.  
  9.  
  10. Sub FindWholeYearHolidays_FRANCE(ByVal YearInt as Integer)
  11. Dim lEasterDate&
  12. Dim lDate&
  13.     CalInsertBankholiday(DateSerial(YearInt, 1, 1), "Jour de l'an", cHolidayType_Full)
  14.     lEasterDate = CalEasterTable(YearInt)
  15.     CalInsertBankholiday(lEasterDate, "Pテ「ques", cHolidayType_Full)
  16.     CalInsertBankholiday(lEasterDate + 10, "Pentecテエte", cHolidayType_Full)
  17.     CalInsertBankholiday(lEasterDate + 39, "Ascension", cHolidayType_Full)
  18.     CalInsertBankholiday(DateSerial(YearInt, 5, 1), "Fテェte du travail", cHolidayType_Full)
  19.     CalInsertBankholiday(DateSerial(YearInt, 5, 8), "Victoire 1945", cHolidayType_Full)
  20.     CalInsertBankholiday(DateSerial(YearInt, 7, 14), "Fテェte Nationale", cHolidayType_Full)
  21.     CalInsertBankholiday(DateSerial(YearInt, 8, 15), "Assomption", cHolidayType_Full)
  22.     CalInsertBankholiday(DateSerial(YearInt, 11, 1), "Toussaint", cHolidayType_Full)
  23.     CalInsertBankholiday(DateSerial(YearInt, 11, 11), "Armistice ou Victoire 1918", cHolidayType_Full)
  24.     CalInsertBankholiday(DateSerial(YearInt, 12, 25), "Noテォl", cHolidayType_Full)
  25. End Sub
  26.  
  27.  
  28. Sub FindWholeYearHolidays_SWED(ByVal YearInt as Integer)
  29. Dim lDate&
  30.     CalInsertBankholiday(DateSerial(YearInt, 1, 1), "Nyテ・rsdagen", cHolidayType_Full)
  31.     CalInsertBankholiday(DateSerial(YearInt, 1, 6), "Trettondagen", cHolidayType_Full)
  32.     lDate = CalEasterTable(YearInt)
  33.     CalInsertBankholiday(lDate - 2, "Lテ・ngfredagen", cHolidayType_Full)
  34.     CalInsertBankholiday(lDate, "Pテ・skdagen", cHolidayType_Full)
  35.     CalInsertBankholiday(lDate + 1, "Annandag pテ・sk", cHolidayType_Full)
  36.     CalInsertBankholiday(lDate + 39, "Kristi himmelfテ、rds dag", cHolidayType_Full)
  37.     CalInsertBankholiday(lDate + 49, "Pingstdagen", cHolidayType_Full)
  38.     CalInsertBankholiday(lDate + 50, "Annandag pingst", cHolidayType_Full)
  39.     CalInsertBankholiday(DateSerial(YearInt, 5, 1), "1:a maj", cHolidayType_Full)
  40.     ' MidSummerfeast (next Sunday after 20th June)
  41.     CalInsertBankholiday(GetNextWeekday(YearInt, 6, 20, 7), "Midsommardagen", cHolidayType_Full)
  42.     CalInsertBankholiday(GetNextWeekDay(YearInt, 10, 31, 7), "Alla helgons dag", cHolidayType_Full)
  43.     CalInsertBankholiday(DateSerial(YearInt, 12, 25), "Juldagen", cHolidayType_Full)
  44.     CalInsertBankholiday(DateSerial(YearInt, 12, 26), "Annandag jul", cHolidayType_Full)
  45. End Sub
  46.  
  47.  
  48.  
  49. Sub FindWholeYearHolidays_FI(ByVal YearInt as Integer)
  50.     Dim OsternDate&
  51.     ' New Year
  52.     CalInsertBankholiday(DateSerial(YearInt, 1, 1), "Uudenvuodenpテ、ivテ、", cHolidayType_Full)
  53.     ' "the three Magi"
  54.     CalInsertBankholiday(DateSerial(YearInt, 1, 6), "Loppiainen", cHolidayType_Half)
  55.     OsternDate = CalEasterTable(YearInt)
  56.     CalInsertBankholiday(OsternDate-2, "Pitkテ、perjantai", cHolidayType_Full)
  57.     CalInsertBankholiday(OsternDate, "Pテ、テ、siテ、ispテ、ivテ、", cHolidayType_Full)
  58.     CalInsertBankholiday(OsternDate+1, "2. pテ、テ、siテ、ispテ、ivテ、", cHolidayType_Full)
  59.     ' Ascension Day 
  60.     CalInsertBankholiday(OsternDate+39, "Helatorstai", cHolidayType_Full)
  61.     ' First of May
  62.     CalInsertBankholiday(DateSerial(YearInt, 5, 1), "Vappu, suomalaisen tyテカn pテ、ivテ、", cHolidayType_Full)
  63.     ' Mothers Day : 2nd Sunday in May, Full
  64.     CalInsertBankholiday(GetMonthDate(YearInt, 5,1,7), "テtienpテ、ivテ、", cHolidayType_Full)
  65.     ' MidSummerfeast (next Sunday after 20th June)
  66.     CalInsertBankholiday(GetNextWeekday(YearInt, 6, 20, 7), "Juhannus, Suomen lipun pテ、ivテ、", cHolidayType_Full)    
  67.     ' Independance day
  68.     CalInsertBankholiday(DateSerial(YearInt, 12, 6), "Itsenテ、isyyspテ、ivテ、", cHolidayType_Full)
  69.     ' Christmas
  70.     CalInsertBankholiday(DateSerial(YearInt, 12, 25), "Joulupテ、ivテ、", cHolidayType_Full)
  71.     CalInsertBankholiday(DateSerial(YearInt, 12, 26), "Tapaninpテ、ivテ、", cHolidayType_Full)
  72. End Sub
  73.  
  74.  
  75.  
  76. Sub FindWholeYearHolidays_DK (ByVal YearInt as Integer)
  77. Dim lDate&, VierterAdvent&
  78.  
  79.     'New Year
  80.     CalInsertBankholiday(DateSerial(YearInt, 1, 1), "Nytテ・rsdag", cHolidayType_Full)
  81.     lDate = CalEasterTable (YearInt)
  82.     ' carnival
  83.     CalInsertBankholiday(lDate-49, "Fastelavn", cHolidayType_Half)
  84.     '"Maundy Tuesday
  85.     CalInsertBankholiday(lDate-3, "Skテヲrtorsdag", cHolidayType_Full)
  86.     '"Good Friday  "
  87.     CalInsertBankholiday(lDate-2, "Langfredag", cHolidayType_Full)
  88.     ' Easter Sunday
  89.     CalInsertBankholiday(lDate, "Pテ・skesテクndag", cHolidayType_Full)
  90.     ' Easter Monday
  91.     CalInsertBankholiday(lDate+1, "2. pテ・skedag", cHolidayType_Full)
  92.     ' 4th Friday after Easter
  93.     CalInsertBankholiday(lDate+26, "Store bededag", cHolidayType_Full)
  94.     ' "Ascension Day 
  95.     CalInsertBankholiday(lDate+39, "Kristi himmelfahrt", cHolidayType_Full)
  96.     ' "Whitsunday"
  97.     CalInsertBankholiday(lDate+49, "Pinsesテクndag", cHolidayType_Full)
  98.     ' "Whitmonday"
  99.     CalInsertBankholiday(lDate+50, "2. pinsedag", cHolidayType_Full)
  100.     CalInsertBankholiday(DateSerial(YearInt, 6, 5), "Grundlovsdag", cHolidayType_Full)
  101.     'Christmas Days
  102.     CalInsertBankholiday(DateSerial(YearInt, 12, 25), "1. juledag", cHolidayType_Full)
  103.     CalInsertBankholiday(DateSerial(YearInt, 12, 26), "2. juledag", cHolidayType_Full)
  104.     CalInsertBankholiday(DateSerial(YearInt, 1, 6), "Hellig 3 konger", cHolidayType_Half)
  105.     CalInsertBankholiday(DateSerial(YearInt, 3, 28), "Dr. Ingrid", cHolidayType_Half)
  106.     CalInsertBankholiday(DateSerial(YearInt, 4, 16), "Dr. Margrete", cHolidayType_Half)
  107.     CalInsertBankholiday(DateSerial(YearInt, 4, 16), "Palmesテクndag", cHolidayType_Half)
  108.     ' "Liberation day"
  109.     CalInsertBankholiday(DateSerial(YearInt, 5, 5), "Befrielsesdag", cHolidayType_Half)
  110.     CalInsertBankholiday(DateSerial(YearInt, 5, 26), "Krpr. Frederik", cHolidayType_Half)
  111.     CalInsertBankholiday(DateSerial(YearInt, 6, 7), "Pr. Joachim", cHolidayType_Half)
  112.     CalInsertBankholiday(DateSerial(YearInt, 6, 11), "Pr. Henrik", cHolidayType_Half)
  113.     CalInsertBankholiday(DateSerial(YearInt, 6, 15), "Valdemarsdag", cHolidayType_Half)
  114.     CalInsertBankholiday(DateSerial(YearInt, 6, 24), "Skt. Hans", cHolidayType_Half)
  115.     CalInsertBankholiday(DateSerial(YearInt, 6, 30), "Prinsesse Alexandra", cHolidayType_Half)
  116.     CalInsertBankholiday(DateSerial(YearInt, 8, 28), "Pr. Nikolai", cHolidayType_Half)
  117.     CalInsertBankholiday(DateSerial(YearInt, 10, 24), "FN-dag", cHolidayType_Half)
  118.     CalInsertBankholiday(DateSerial(YearInt, 11, 11), "Morten Bisp", cHolidayType_Half)
  119.     ' all half (Memorial Days)
  120.     '"adventdays
  121.     VierterAdvent = DateSerial(YearInt, 12, 24)
  122.     While (Weekday(VierterAdvent) <> 1)
  123.         vierterAdvent = vierterAdvent - 1
  124.     Wend
  125.     CalInsertBankholiday(vierterAdvent-21, "1. sテクndag i advent", cHolidayType_Half)
  126.     CalInsertBankholiday(vierterAdvent-14, "2. sテクndag i advent", cHolidayType_Half)
  127.     CalInsertBankholiday(vierterAdvent-7, "3. sテクndag i advent", cHolidayType_Half)
  128.     CalInsertBankholiday(vierterAdvent, "4. sテクndag i advent", cHolidayType_Half)
  129.     'Christmas eve
  130.     CalInsertBankholiday(DateSerial(YearInt, 12, 24), "Juleaften", cHolidayType_Half)
  131.     '"New Year's eve"
  132.     CalInsertBankholiday(DateSerial(YearInt, 12, 31), "Nytテ・rsaften", cHolidayType_Half)
  133. End Sub
  134.  
  135.  
  136. Sub FindWholeYearHolidays_ITA(ByVal YearInt as Integer)
  137. Dim lDate&
  138.     CalInsertBankholiday(DateSerial(YearInt, 1, 1), "Capodanno", cHolidayType_Full)
  139.     CalInsertBankholiday(DateSerial(YearInt, 1, 6), "Epifania", cHolidayType_Full)
  140.     CalInsertBankholiday(DateSerial(YearInt, 4, 25), "Festa della liberazione", cHolidayType_Full)
  141.     CalInsertBankholiday(DateSerial(YearInt, 8, 15), "Ferragusto", cHolidayType_Full)
  142.     CalInsertBankholiday(DateSerial(YearInt, 11, 1), "Tutti i Santi", cHolidayType_Full)
  143.     CalInsertBankholiday(DateSerial(YearInt, 12, 8), "Immacolata concezione", cHolidayType_Full)
  144.     CalInsertBankholiday(DateSerial(YearInt, 12, 25), "Natale", cHolidayType_Full)
  145.     CalInsertBankholiday(DateSerial(YearInt, 12, 26), "Santo Stefano", cHolidayType_Full)
  146.     lDate = CalEasterTable(YearInt)
  147.     CalInsertBankholiday(lDate, "Pasqua", cHolidayType_Full)
  148.     CalInsertBankholiday(lDate+1, "Lunedテャ dell'Angelo", cHolidayType_Full)
  149. End Sub
  150.  
  151.  
  152.  
  153. Sub FindWholeYearHolidays_TRK(ByVal YearInt as Integer)
  154. Dim lDate as Long
  155.     ' New Years' Day
  156.     CalInsertBankholiday(DateSerial(YearInt, 1, 1), "Yトアlbaナ淨ア", cHolidayType_Full)
  157.     ' National Sovereignty and Children's Day
  158.     CalInsertBankholiday(DateSerial(YearInt, 4, 23), "Ulusal Egemenlik ve テ㎜cuk Bayramトア", cHolidayType_Full)
  159.     ' Ataturk Commemoration and Youth & Sports Day
  160.     CalInsertBankholiday(DateSerial(YearInt, 5, 19), "Atatテシrk'テシ Anma, Genテァlik ve Spor Bayramトア", cHolidayType_Full)
  161.     ' Mothers Day : 2nd Sunday in May, Full
  162.     CalInsertBankholiday(GetMonthDate(YearInt, 5,1,7), "Anneler gテシnテシ", cHolidayType_Full)
  163.     ' Fathers Day: 3rd Sunday in May, Full
  164.     CalInsertBankholiday(GetMonthDate(YearInt, 6,1,14), "Babalar Gテシnテシ", cHolidayType_Full)
  165.     ' Victory Day
  166.     CalInsertBankholiday(DateSerial(YearInt, 8, 30), "Zafer Bayramトア", cHolidayType_Full)
  167.     ' Republic Day
  168.     CalInsertBankholiday(DateSerial(YearInt, 10, 28), "Cumhuriyet Bayramトア", cHolidayType_Full)
  169.     ' Republic Day
  170.     CalInsertBankholiday(DateSerial(YearInt, 10, 29), "Cumhuriyet Bayramトア", cHolidayType_Full)
  171.     ' Commemoration Of Ataturk-Anniversary of Ataturk's Death
  172.     CalInsertBankholiday(DateSerial(YearInt, 11, 10), "Atatテシrk'テシn テ僕テシm Gテシnテシ", cHolidayType_Full)
  173.     CalculateturkishReligousHolidays(YearInt)
  174. End Sub
  175.  
  176.  
  177. Sub CalculateturkishReligousHolidays(iSelYear as Integer)
  178. Dim lKurbanBayRamStartDate as Long
  179. Dim lRamazanBayRamStartDate as Long
  180.  
  181.     Select Case iSelYear
  182.         Case 2002
  183.             lKurbanBayRamStartDate = DateSerial(iSelYear, 2, 21)
  184.             lRamazanBayRamStartDate = DateSerial(iSelYear, 12, 4)
  185.         Case 2003
  186.             lKurbanBayRamStartDate = DateSerial(iSelYear, 2, 10)
  187.             lRamazanBayRamStartDate = DateSerial(iSelYear, 11, 24)
  188.         Case 2004
  189.             lKurbanBayRamStartDate = DateSerial(iSelYear, 1, 31)
  190.             lRamazanBayRamStartDate = DateSerial(iSelYear, 11, 13)
  191.         Case 2005
  192.             lKurbanBayRamStartDate = DateSerial(iSelYear, 1, 19)
  193.             lRamazanBayRamStartDate = DateSerial(iSelYear, 11, 2)
  194.         Case 2006
  195.             lKurbanBayRamStartDate = DateSerial(iSelYear, 12, 30)
  196.             CalInsertBankholiday(lKurbanBayRamStartDate, "Kurban Bayramトア Arefesi", cHolidayType_Half)
  197.             CalInsertBankholiday(DateSerial(iSelYear, 12, 31), "Kurban Bayram", cHolidayType_Full)
  198.  
  199.             lKurbanBayRamStartDate = DateSerial(iSelYear, 1, 9)
  200.             lRamazanBayRamStartDate = DateSerial(iSelYear, 10, 22)
  201.         Case 2007
  202.             lKurbanBayRamStartDate = DateSerial(iSelYear, 1, 1)
  203.             ' Note: The first day has already been in 2006!!!
  204.             AddFollowUpHolidays(lKurbanBayRamStartDate-1, 3, "Kurban Bayram", cHolidayType_Full)
  205.             lKurbanBayRamStartDate = DateSerial(iSelYear, 12, 19)
  206.  
  207.             lRamazanBayRamStartDate = DateSerial(iSelYear, 10, 11)
  208.         Case 2008
  209.             lKurbanBayRamStartDate = DateSerial(iSelYear, 12, 7)
  210.             lRamazanBayRamStartDate = DateSerial(iSelYear, 9, 29)
  211.         Case Else
  212.             Exit Sub
  213.     End Select
  214.     'Feast Of the Sacrifice Eve
  215.     CalInsertBankholiday(lKurbanBayRamStartDate, "Kurban Bayramトア Arefesi", cHolidayType_Half)    
  216.     'Feast Of the Sacrifice
  217.     AddFollowUpHolidays(lKurbanBayRamStartDate, 4, "Kurban Bayram", cHolidayType_Full)
  218.     ' End of Ramadan Eve
  219.     CalInsertBankholiday(lRamazanBayRamStartDate, "Ramazan (ナ枡ker) Bayramトア Arefesi", cHolidayType_Half)
  220.     ' End of Ramadan
  221.     AddFollowUpHolidays(lRamazanBayRamStartDate, 3, "Ramazan (ナ枡ker) Bayramトア", cHolidayType_Full)
  222. End Sub
  223.     
  224.  
  225. Sub FindWholeYearHolidays_GREEK(ByVal YearInt as Integer)
  226. Dim lDate as Long
  227.     ' New Year
  228.     CalInsertBankholiday(DateSerial(YearInt, 1, 1), "ホマ珂ホソママ∃ソホスホケホャ", cHolidayType_Full)
  229.     'Schol Holiday
  230.     CalInsertBankholiday(DateSerial(YearInt, 12, 30), "ホ、マ∃ケマ斜ス ホ厥オマ∃アママ斜ス", cHolidayType_Full)
  231.     ' This is both a National Holiday and a religious holiday
  232.     CalInsertBankholiday(DateSerial(YearInt, 3, 25), "ホ偏クホスホケホコホョ ホ偏ソマホョ ホ変ホアホウホウホオホサホケマπシマ狐 ホ佩オホソママ湖コホソマ", cHolidayType_Full)
  233.     ' Labor Day
  234.     CalInsertBankholiday(DateSerial(YearInt, 5, 1), "ホマ珂ホソホシホアホウホケホャ", cHolidayType_Full)
  235.     ' Assumption Day
  236.     CalInsertBankholiday(DateSerial(YearInt, 8, 15), "ホ墅ソホッホシホキマπキ マホキマ ホ佩オホソママ湖コホソマ", cHolidayType_Full)
  237.     ' National Resistance Day
  238.     CalInsertBankholiday(DateSerial(YearInt, 10, 28), "ホ偏クホスホケホコホョ ホ偏ソマホョ", cHolidayType_Full)
  239.     ' School Holiday
  240.     CalInsertBankholiday(DateSerial(YearInt, 11, 17), "ホ変ホュマホオホケホソマ マホソマ ホホソホサママホオマホスホオホッホソマ", cHolidayType_Full)
  241.     ' Christmas Eve
  242.     CalInsertBankholiday(DateSerial(YearInt, 12, 24), "ホホアマ∃アホシホソホスホョ ホァマ∃ケマρホソマホウホュホスホスマ火ス", cHolidayType_Full)
  243.     ' Christmas Day
  244.     CalInsertBankholiday(DateSerial(YearInt, 12, 25), "ホァマ∃ケマρホソマ歳ウホオホスホスホア", cHolidayType_Full)
  245.     ' Boxing Day
  246.     CalInsertBankholiday(DateSerial(YearInt, 12, 26), "ホ釆オマ済ホオマ∃キ ホシホュマ∃ア ホァマ∃ケマρホソマホウホュホスホスマ火ス", cHolidayType_Full)
  247.     lDate = CalOrthodoxEasterTable(YearInt)
  248.     ' Triodon
  249.     CalInsertBankholiday(lDate-70, "ホ耐ホョ ホ、マ∃ケマ火エホッホソマ", cHolidayType_Full)
  250.      ' Meat Fare        
  251.     CalInsertBankholiday(lDate-56, "ホ、マπケホコホスホソマホュホシママホキ", cHolidayType_Full)
  252.     ' First Day of Lent
  253.     CalInsertBankholiday(lDate-48, "ホ墅アホクホアマ∃ョ ホ釆オママホュマ∃ア", cHolidayType_Full)
  254.     ' Saturday of Lazarus
  255.     CalInsertBankholiday(lDate-8, "ホ」ホャホイホイホアマホソ マホソマ ホ嶄アホカホャマ∃ソマ", cHolidayType_Full)
  256.     ' Palm Sunday
  257.     CalInsertBankholiday(lDate-7, "ホ墹マ∃ケホアホコホョ ママ火ス ホ槻アホ積火ス", cHolidayType_Full)
  258.     ' Monday before Easter
  259.     CalInsertBankholiday(lDate-6, "ホ慚オホウホャホサホキ ホ釆オママホュマ∃ア", cHolidayType_Full)
  260.     ' Tuesday before Easter
  261.     CalInsertBankholiday(lDate-5, "ホ慚オホウホャホサホキ ホ、マ∃ッマホキ", cHolidayType_Full)
  262.     ' Wednesday before Easter
  263.     CalInsertBankholiday(lDate-4, "ホ慚オホウホャホサホキ ホ、ホオマホャマホキ", cHolidayType_Full)
  264.     ' Thursday before Easter
  265.     CalInsertBankholiday(lDate-3, "ホ慚オホウホャホサホキ ホホュホシママホキ", cHolidayType_Full)
  266.     ' Good Friday
  267.     CalInsertBankholiday(lDate-2, "ホ慚オホウホャホサホキ ホホアマ∃アマπコホオマホョ", cHolidayType_Full)
  268.     ' Saturday before Easter
  269.     CalInsertBankholiday(lDate-1, "ホ慚オホウホャホサホソ ホ」ホャホイホイホアマホソ", cHolidayType_Full)
  270.     ' Easter Monday
  271.     CalInsertBankholiday(lDate+1, "ホ釆オママホュマ∃ア マホソマ ホホャマρホア", cHolidayType_Full)
  272.     ' Pentecost    
  273.     CalInsertBankholiday(lDate+49, "ホ墹マ∃ケホアホコホョ マホキマ ホホオホスマホキホコホソマρホョマ", cHolidayType_Full)
  274.     ' Ascension Day
  275.     CalInsertBankholiday(lDate+39, "ホ、ホソマ ホ対ウホッホソマ ホホスホオマ歳シホアマホソマ", cHolidayType_Full)
  276.     ' All Saints Day
  277.     CalInsertBankholiday(lDate+56, "ホ、マ火ス ホ対ウホッマ火ス ホホャホスママ火ス", cHolidayType_Full)
  278. End Sub
  279.  
  280.  
  281.  
  282. Sub FindWholeYearHolidays_SPAIN(ByVal YearInt as Integer)
  283. Dim lDate&
  284.     CalInsertBankholiday(DateSerial(YearInt, 1, 1), "Aテアo Nuevo", cHolidayType_Full)
  285.     CalInsertBankholiday(DateSerial(YearInt, 1, 6), "Reyes", cHolidayType_Full)
  286.     lDate = CalEasterTable(YearInt)
  287.     CalInsertBankholiday(lDate-2, "Viernes Santo", cHolidayType_Full)
  288.     CalInsertBankholiday(lDate+1, "Lunes de Pascua Florida", cHolidayType_Full)
  289.     CalInsertBankholiday(lDate+39, "Dテュa de la Ascensiテウn", cHolidayType_Full)
  290.     CalInsertBankholiday(DateSerial(YearInt, 5, 1), "Fiesta del Trabajo", cHolidayType_Full)
  291.     CalInsertBankholiday(DateSerial(YearInt, 8, 15), "Dテュa de la Asunciテウn", cHolidayType_Full)
  292.     CalInsertBankholiday(DateSerial(YearInt, 10, 12), "Fiesta de la Hispanidad", cHolidayType_Full)
  293.     CalInsertBankholiday(DateSerial(YearInt, 11, 1), "Todos los Santos", cHolidayType_Full)
  294.     CalInsertBankholiday(DateSerial(YearInt, 12, 6), "Dテュa de la Constituciテウn", cHolidayType_Full)
  295.     CalInsertBankholiday(DateSerial(YearInt, 12, 8), "La Inmaculada", cHolidayType_Full)
  296.     CalInsertBankholiday(DateSerial(YearInt, 12, 25), "Navidad", cHolidayType_Full)
  297. End Sub
  298.  
  299.  
  300. Sub FindWholeYearHolidays_PORT(ByVal YearInt as Integer)
  301. Dim lDate&
  302.     CalInsertBankholiday(DateSerial(YearInt, 1, 1), "Ano Novo", cHolidayType_Full)
  303.     CalInsertBankholiday(DateSerial(YearInt, 1, 6), "Reis Magos", cHolidayType_Half)
  304.     lDate = CalEasterTable(YearInt)
  305.     CalInsertBankholiday(lDate-47, "Carnaval", cHolidayType_Full)
  306.     CalInsertBankholiday(lDate-7, "Domingo de Ramos", cHolidayType_Half)
  307.     CalInsertBankholiday(lDate-2, "Sexta-feira Santa", cHolidayType_Full)
  308.     CalInsertBankholiday(lDate, "Pテ。scoa", cHolidayType_Full)
  309.     CalInsertBankholiday(DateSerial(YearInt, 4, 25), "25 de Abril", cHolidayType_Full)
  310.     CalInsertBankholiday(DateSerial(YearInt, 5, 1), "Dia do Trabalhador", cHolidayType_Full)
  311.     CalInsertBankholiday(DateSerial(YearInt, 5, 29), "Corpo de Deus", cHolidayType_Full)
  312.     CalInsertBankholiday(DateSerial(YearInt, 6, 10), "Dia de Camテオes e das Comunidades Portuguesas", cHolidayType_Full)
  313.     CalInsertBankholiday(DateSerial(YearInt, 6, 24), "S. Joテ」o", cHolidayType_Full)
  314.     CalInsertBankholiday(DateSerial(YearInt, 6, 29), "S. Pedro", cHolidayType_Full)
  315.     CalInsertBankholiday(DateSerial(YearInt, 8, 15), "Assunテァテ」o de Nossa Senhora", cHolidayType_Full)
  316.     CalInsertBankholiday(DateSerial(YearInt, 10, 5), "Implantaテァテ」o da Repテコblica", cHolidayType_Full)
  317.     CalInsertBankholiday(DateSerial(YearInt, 11, 1), "Dia de Todos os Santos", cHolidayType_Full)
  318.     CalInsertBankholiday(DateSerial(YearInt, 12, 8), "Imaculada Conceiテァテ」o", cHolidayType_Full)
  319.     CalInsertBankholiday(DateSerial(YearInt, 12, 25), "Natal", cHolidayType_Full)
  320.     CalInsertBankholiday(DateSerial(YearInt, 12, 1), "Restauraテァテ」o da Independテェncia", cHolidayType_Full)
  321.     CalInsertBankholiday(DateSerial(YearInt, 12, 31), "Passagem de Ano", cHolidayType_Half)
  322. End Sub
  323.  
  324.  
  325. Sub FindWholeYearHolidays_NL(ByVal YearInt as Integer)
  326. Dim lDate&
  327.     CalInsertBankholiday(DateSerial(YearInt, 1, 1), "Nieuwjaarsdag", cHolidayType_Full)
  328.     lDate = CalEasterTable(YearInt)
  329.     CalInsertBankholiday(lDate, "1e Paasdag", cHolidayType_Full)
  330.     CalInsertBankholiday(lDate + 1, "2e Paasdag", cHolidayType_Full)
  331.     CalInsertBankholiday(lDate + 39, "Hemelvaartsdag", cHolidayType_Full)
  332.     CalInsertBankholiday(lDate + 49, "1e Pinksterdag", cHolidayType_Full)
  333.     CalInsertBankholiday(lDate + 50, "2e Pinksterdag", cHolidayType_Full)
  334.     CalInsertBankholiday(DateSerial(YearInt, 4, 30), "Koninginnedag", cHolidayType_Full)
  335.     ' Bevrijdingsdag is celebrated every 5th year
  336.     If YearInt Mod 5 = 0 then
  337.         CalInsertBankholiday(DateSerial(YearInt, 5, 5), "Bevrijdingsdag", cHolidayType_Full)
  338.     End if
  339.     CalInsertBankholiday(DateSerial(YearInt, 12, 6), "Sinterklaas", cHolidayType_Half)
  340.     CalInsertBankholiday(DateSerial(YearInt, 12, 25), "1e Kerstdag", cHolidayType_Full)
  341.     CalInsertBankholiday(DateSerial(YearInt, 12, 26), "2e Kerstdag", cHolidayType_Full)
  342. End Sub
  343.  
  344.  
  345. Sub FindWholeYearHolidays_PL (ByVal YearInt as Integer)
  346.     Dim lDate&, OsternDate&
  347.     ' New Year
  348.     CalInsertBankholiday(DateSerial(YearInt, 1, 1), "Nowy Rok", cHolidayType_Full)
  349.     ' "the three Magi"
  350.     CalInsertBankholiday(DateSerial(YearInt, 1, 6), "Trzech Krテウli", cHolidayType_Half)
  351.     ' "Womens' Day"
  352.     CalInsertBankholiday(DateSerial(YearInt, 3, 8), "Dzieナ Kobiet", cHolidayType_Half)
  353.     OsternDate = CalEasterTable(YearInt)
  354.     CalInsertBankholiday(OsternDate-2, "Wielki Piトtek", cHolidayType_Full)
  355.     CalInsertBankholiday(OsternDate, "Wielka Niedziela", cHolidayType_Full)
  356.     CalInsertBankholiday(OsternDate+1, "Lany PoniedziaナFk", cHolidayType_Full)
  357.     ' Ascension Day 
  358.     CalInsertBankholiday(OsternDate+39, "Wniebowstトpienie", cHolidayType_Full)
  359.     ' Pentecost
  360.     CalInsertBankholiday(OsternDate+49, "Zielone ナ嗹iトtki", cHolidayType_Full)
  361.     ' Feast of Corpus Christi
  362.     CalInsertBankholiday(OsternDate+60, "Boナシe CiaナP", cHolidayType_Full)
  363.     ' First of May
  364.     CalInsertBankholiday(DateSerial(YearInt, 5, 1), "ナ嗹iト冲o pracy", cHolidayType_Full)
  365.     ' Memorial day of constitution
  366.     CalInsertBankholiday(DateSerial(YearInt, 5, 3), "Dzieナ konstytucji 3-go maja", cHolidayType_Full)
  367.     ' "Childrens' day"
  368.     CalInsertBankholiday(DateSerial(YearInt, 6, 1), "Dzieナ Dziecka", cHolidayType_Half)
  369.     ' "Ascension Day"
  370.     CalInsertBankholiday(DateSerial(YearInt, 8, 15), "Matki Boskiej Zielnej", cHolidayType_Half)
  371.     ' "All Saints' Day "
  372.     CalInsertBankholiday(DateSerial(YearInt, 11, 1), "Wszystkich ナ嗹iト冲ych", cHolidayType_Full)
  373.     ' National day"
  374.     CalInsertBankholiday(DateSerial(YearInt, 11, 11), "Dzieナ NiepodlegナPナ嫩i", cHolidayType_Full)
  375.     ' Christmas Eve
  376.     CalInsertBankholiday(DateSerial(YearInt, 12, 24), "Wigilia", cHolidayType_Half)
  377.     ' Christmas
  378.     CalInsertBankholiday(DateSerial(YearInt, 12, 25), "Boナシe Narodzenie", cHolidayType_Full)
  379.     CalInsertBankholiday(DateSerial(YearInt, 12, 26), "Boナシe Narodzenie", cHolidayType_Full)
  380.     ' "New Year's eve"
  381.     CalInsertBankholiday(DateSerial(YearInt, 12, 31), "Sylwester", cHolidayType_Half)
  382. End Sub
  383.  
  384.  
  385. Sub FindWholeYearHolidays_RU (ByVal YearInt as Integer)
  386. Dim lDate&
  387.     ' New Year
  388.     CalInsertBankholiday(DateSerial(YearInt, 1, 1), "ミ斷セミイム巾ケ ミ寅セミエ", cHolidayType_Full)
  389.     CalInsertBankholiday(DateSerial(YearInt, 1, 2), "ミ斷セミイム巾ケ ミ寅セミエ", cHolidayType_Full)
  390.     ' Russian Christmas"
  391.     CalInsertBankholiday(DateSerial(YearInt, 1, 7), "ミミセミカミエミオムひイミセ", cHolidayType_Full)
  392.     'Day of Defender of Motherland
  393.     CalInsertBankholiday(DateSerial(YearInt, 2, 23), "ミ頒オミスム ミ厘ーム禍クムひスミクミコミー ミ樮ひオムミオムひイミー", cHolidayType_Full)
  394.     ' Woman Day
  395.     CalInsertBankholiday(DateSerial(YearInt, 3, 8), "ミ慴オミカミエムσスミームミセミエミスム巾ケ ミ孟オミスムコミクミケ ミ頒オミスム", cHolidayType_Full)
  396.     ' Spring and labor holiday
  397.     CalInsertBankholiday(DateSerial(YearInt, 5, 1), "ミ湲ミーミキミエミスミクミコ ミ漬オムスム ミク ミ「ムムσエミー", cHolidayType_Full)
  398.     CalInsertBankholiday(DateSerial(YearInt, 5, 2), "ミ湲ミーミキミエミスミクミコ ミ漬オムスム ミク ミ「ムムσエミー", cHolidayType_Full)
  399.     ' Victory of the second World War
  400.     CalInsertBankholiday(DateSerial(YearInt, 5, 9), "ミ頒オミスム ミ渙セミアミオミエム", cHolidayType_Full)
  401.     ' Independence Day
  402.     CalInsertBankholiday(DateSerial(YearInt, 6, 12), "ミ頒オミスム ミ斷オミキミーミイミクムクミシミセムひク", cHolidayType_Full)
  403.     ' Day of Accord and Conciliation
  404.     CalInsertBankholiday(DateSerial(YearInt, 11, 7), "ミ頒オミスム ミ。ミセミウミサミームクム ミク ミ湲ミクミシミクムミオミスミクム", cHolidayType_Full)
  405.     ' Constitution Day
  406.     CalInsertBankholiday(DateSerial(YearInt, 12, 12), "ミ頒オミスム ミ墟セミスムひクムびτミクミク", cHolidayType_Full)
  407. End Sub
  408.  
  409.  
  410. Sub FindWholeYearHolidays_US(ByVal YearInt as Integer)
  411. Dim lDate as Long
  412. Dim lFirstNov as Long
  413. Dim lElectDate as Long
  414.     CalInsertBankholiday(DateSerial(YearInt, 1, 1), "New Year's Day", cHolidayType_Full)
  415.     CalInsertBankholiday(DateSerial(YearInt, 2, 2), "Groundhog Day", cHolidayType_Half)
  416.     CalInsertBankholiday(DateSerial(YearInt, 2, 14), "Valentine's Day", cHolidayType_Half)
  417.     CalInsertBankholiday(DateSerial(YearInt, 3, 17), "St Patrick's Day", cHolidayType_Half)
  418.     CalInsertBankholiday(DateSerial(YearInt, 4, 1), "April Fools' Day", cHolidayType_Half)
  419.     CalInsertBankholiday(DateSerial(YearInt, 4, 22), "Earth Day", cHolidayType_Half)
  420.     CalInsertBankholiday(DateSerial(YearInt, 5, 6), "Nurses' Day", cHolidayType_Half)
  421.     CalInsertBankholiday(DateSerial(YearInt, 6, 14), "Flag Day", cHolidayType_Half)
  422.     CalInsertBankholiday(DateSerial(YearInt, 6, 14), "Army Day", cHolidayType_Half)
  423.     CalInsertBankholiday(DateSerial(YearInt, 6, 19), "Juneteenth(Liberation of Slaves)", cHolidayType_Half)
  424.  
  425.     CalInsertBankholiday(DateSerial(YearInt, 7, 4), "Independence Day", cHolidayType_Full)
  426.     CalInsertBankholiday(DateSerial(YearInt, 8, 1), "Air Force Day", cHolidayType_Half)
  427.     CalInsertBankholiday(DateSerial(YearInt, 8, 4), "Coast Guard Day", cHolidayType_Half)
  428.     CalInsertBankholiday(DateSerial(YearInt, 9, 17), "Citizenship Day or Constitution Day", cHolidayType_Half)
  429.     CalInsertBankholiday(DateSerial(YearInt, 10, 16), "Bosses' Day", cHolidayType_Half)
  430.     CalInsertBankholiday(DateSerial(YearInt, 10, 26 ), "Mother-in-Law's Day", cHolidayType_Half)
  431.     CalInsertBankholiday(DateSerial(YearInt, 10, 27), "Navy Day", cHolidayType_Half)
  432.     CalInsertBankholiday(DateSerial(YearInt, 10, 31), "Halloween", cHolidayType_Half)
  433.     CalInsertBankholiday(DateSerial(YearInt, 11, 10), "Marine Corps Day", cHolidayType_Half)
  434.     CalInsertBankholiday(DateSerial(YearInt, 11, 11), "Veteran's Day", cHolidayType_Full)
  435.     CalInsertBankholiday(DateSerial(YearInt, 12, 7), "Pearl Harbor Remembrance Day", cHolidayType_Half)
  436.     CalInsertBankholiday(DateSerial(YearInt, 12, 24), "Christmas Eve", cHolidayType_Half)
  437.     CalInsertBankholiday(DateSerial(YearInt, 12, 25), "Christmas Day", cHolidayType_Full)
  438.     CalInsertBankholiday(DateSerial(YearInt, 12, 31), "New Year's Eve", cHolidayType_Half)
  439.  
  440.     CalInsertBankholiday(CalEasterTable(YearInt), "Easter Sunday", cHolidayType_Half)
  441.  
  442.     ' Inauguration Day occurs every 4 years (1997, 2001) in the year following the presidential election
  443.     ' always on the 20th of January unless this is a Sunday in which case on Monday 21st January
  444.     If YearInt Mod 4 = 1 Then
  445.         lDate = DateSerial(YearInt, 1, 20)
  446.         If WeekDay(lDate) = 1 Then
  447.             CalInsertBankholiday(lDate + 1, "Inauguration Day", cHolidayType_Half)
  448.         Else
  449.             CalInsertBankholiday(lDate, "Inauguration Day", cHolidayType_Half)
  450.         End If
  451.     End If
  452.     ' First Tuesday in November, but only after the 1st of November and only on evenly numbered years
  453.     If YearInt Mod 2 = 0 Then
  454.         lFirstNov = DateSerial(YearInt, 11, 1)
  455.         lElectDate = GetMonthDate(YearInt, 11, 3, 0)
  456.         If lElectDate > lFirstNov Then
  457.             CalInsertBankholiday(lElectDate, "Election Day", cHolidayType_Half)
  458.         Else
  459.             CalInsertBankholiday(lElectDate + 7, "Election Day", cHolidayType_Half)
  460.         End If
  461.     End If
  462.     CalInsertBankholiday(GetMonthDate(YearInt, 1, 2, 14), "Martin Luther King Jr Day", cHolidayType_Full)
  463.     CalInsertBankholiday(GetMonthDate(YearInt, 2, 2, 14), "President's Day", cHolidayType_Full)
  464.     '    Mothers Day : 2nd Sunday in May, Full
  465.     CalInsertBankholiday(GetMonthDate(YearInt, 5,1,7), "Mother's Day", cHolidayType_Full)
  466.  
  467.     ' Wednesday of the last full week of April Administrative Professionals' Day (formerly Secretaries' Day)
  468.     CalInsertBankholiday(GetMonthDate(YearInt, 5, 7, -7)-3, "Administrative Professionals' Day", cHolidayType_Half)
  469.  
  470.     CalInsertBankholiday(GetMonthDate(YearInt, 5, 5, 0), "National Day of Prayer", cHolidayType_Half)
  471.     CalInsertBankholiday(GetMonthDate(YearInt, 5, 7, 14), "Armed Forces Day", cHolidayType_Half)
  472.     '    Fathers Day : 3rd Sunday in June
  473.     CalInsertBankholiday(GetMonthDate(YearInt, 6,1,14), "Father's Day", cHolidayType_Half)
  474.  
  475.     '    Last Monday in May: Menorial Day, Full
  476.     CalInsertBankholiday(GetMonthDate(YearInt, 6, 2, 0)-7, "Memorial Day", cHolidayType_Full)
  477.     CalInsertBankholiday(GetMonthDate(YearInt, 7, 1, 21), "Parents' Day", cHolidayType_Half)
  478.     CalInsertBankholiday(GetMonthDate(YearInt, 8, 1, 0), "Friendship Day", cHolidayType_Half)
  479.  
  480.     '    1st Monday in Sep : Labor Day, Full
  481.     CalInsertBankholiday(GetMonthDate(YearInt, 9, 2, 0), "Labor Day", cHolidayType_Full)
  482.     ' Sunday after Labor Day Grandparents' Day
  483.     CalInsertBankholiday(GetMonthDate(YearInt, 9, 2, 0)+6, "Grandparents' Day", cHolidayType_Half)
  484.  
  485.     CalInsertBankholiday(GetMonthDate(YearInt, 10, 1, 0), "National Children's Day", cHolidayType_Half)
  486.     CalInsertBankholiday(GetMonthDate(YearInt, 10, 2, 7), "Columbus Day", cHolidayType_Full)
  487.     ' Sweetest Day: Third Saturday in October
  488.     CalInsertBankholiday(GetMonthDate(YearInt, 10, 7, 14), "Sweetest Day", cHolidayType_Half)
  489.     '    4th Thu    in Nov : Thanksgiving, Full
  490.     CalInsertBankholiday(GetMonthDate(YearInt, 11, 5, 21), "Thanksgiving", cHolidayType_Full)
  491. End Sub
  492.  
  493.  
  494. Sub FindWholeYearHolidays_JP(ByVal YearInt as Integer)
  495. Dim lDate&
  496.     CalInsertBankholiday(DateSerial(YearInt, 1, 1), "蜈律", cHolidayType_Full)
  497.     ' 2nd Monday in January
  498.     CalInsertBankholiday(GetMonthDate(YearInt, 1, 2, 7), "謌蝉ココ縺ョ譌・", cHolidayType_Full)
  499.     CalInsertBankholiday(DateSerial(YearInt, 2, 11), "蟒コ蝗ス險伜ソオ縺ョ譌・", cHolidayType_Full)
  500.     CalInsertBankholiday(DateSerial(YearInt, 3, 20), "譏・蛻縺ョ譌・", cHolidayType_Full)
  501.     CalInsertBankholiday(DateSerial(YearInt, 4, 29), "縺ソ縺ゥ繧翫譌・", cHolidayType_Full)
  502.     CalInsertBankholiday(DateSerial(YearInt, 5, 3), "諞イ豕戊ィ伜ソオ譌・", cHolidayType_Full)
  503.     CalInsertBankholiday(DateSerial(YearInt, 5, 4), "蝗ス豌代莨第律", cHolidayType_Full)
  504.     CalInsertBankholiday(DateSerial(YearInt, 5, 5), "縺薙←繧ゅ譌・", cHolidayType_Full)
  505.     CalInsertBankholiday(DateSerial(YearInt, 9, 23), "遘句縺ョ譌・", cHolidayType_Full)
  506.     CalInsertBankholiday(GetMonthDate(YearInt, 10, 2, 7), "菴楢ご縺ョ譌・", cHolidayType_Full)
  507.     CalInsertBankholiday(DateSerial(YearInt, 11, 3), "譁蛹悶譌・", cHolidayType_Full)
  508.     CalInsertBankholiday(DateSerial(YearInt, 11, 23), "蜍、蜉エ諢溯ャ昴譌・", cHolidayType_Full)
  509.     CalInsertBankholiday(DateSerial(YearInt, 12, 23), "螟ゥ逧隱慕函譌・", cHolidayType_Full)
  510.     If YearInt > 2002 Then
  511.         CalInsertBankholiday(GetMonthDate(YearInt, 7, 2, 14), "豬キ縺ョ譌・", cHolidayType_Full)
  512.         CalInsertBankholiday(GetMonthDate(YearInt, 9, 2, 14), "謨ャ閠√譌・", cHolidayType_Full)
  513.     Else
  514.         CalInsertBankholiday(DateSerial(YearInt, 7, 20), "豬キ縺ョ譌・", cHolidayType_Full)
  515.         CalInsertBankholiday(DateSerial(YearInt, 9, 15), "謨ャ閠√譌・", cHolidayType_Full)
  516.     End If
  517. End Sub
  518.  
  519.  
  520. Sub FindWholeYearHolidays_TW(YearInt as Integer)
  521.     CalculateChineseNewYear(YearInt)
  522.     CalInsertBankholiday(DateSerial(YearInt, 1, 1), "蜈率", cHolidayType_Full)
  523.     CalInsertBankholiday(DateSerial(YearInt, 2, 28), "蜥悟ケウ邏蠢オ譌・", cHolidayType_Full)
  524.     CalInsertBankholiday(DateSerial(YearInt, 3, 8), "蟀ヲ螂ウ遽", cHolidayType_Half)
  525.     CalInsertBankholiday(DateSerial(YearInt, 3, 29), "髱ゥ蜻ス蜈育ヨ邏蠢オ譌・シ磯搨蟷エ遽シ", cHolidayType_Half)
  526.     CalInsertBankholiday(DateSerial(YearInt, 4, 4), "蜈堤ォ・遽", cHolidayType_Half)
  527.     CalInsertBankholiday(DateSerial(YearInt, 4, 5), "豌第酪謗「鍋ッ", cHolidayType_Full)
  528.     CalInsertBankholiday(DateSerial(YearInt, 5, 1), "蜍槫虚遽", cHolidayType_Full)
  529.     CalInsertBankholiday(GetNextWeekDay(YearInt, 5, 19, 2), "菴幃凰隱戊セー邏蠢オ譌・", cHolidayType_Full) ' Just like Columbus Day
  530.     CalInsertBankholiday(DateSerial(YearInt, 6, 15), "遶ッ蜊育ッ", cHolidayType_Full)
  531.     CalInsertBankholiday(DateSerial(YearInt, 9, 3), "霆堺ココ遽", cHolidayType_Half)
  532.     CalInsertBankholiday(DateSerial(YearInt, 9, 21), "荳ュ遘狗ッ", cHolidayType_Full)
  533.     CalInsertBankholiday(GetNextWeekDay(YearInt, 9, 28, 2), "蟄泌ュ占ェ戊セー邏蠢オ譌・シ域蕗蟶ォ遽シ", cHolidayType_Full) ' Just like Columnbusday
  534.     CalInsertBankholiday(DateSerial(YearInt, 10, 10), "蝨区カ譌・", cHolidayType_Full)
  535.     CalInsertBankholiday(DateSerial(YearInt, 10, 25), "閾コ轣」蜈牙セゥ遽", cHolidayType_Half)
  536.     CalInsertBankholiday(DateSerial(YearInt, 10, 31), "蜈育クス邨ア  阡」蜈ャ隱戊セー邏蠢オ譌・", cHolidayType_Half)
  537.     CalInsertBankholiday(DateSerial(YearInt, 12, 11), "蝨狗宛隱戊セー邏蠢オ譌・シ井クュ闖ッ譁蛹門セゥ闊育ッシ", cHolidayType_Half)
  538.     CalInsertBankholiday(DateSerial(YearInt, 12, 25), "陦梧イ邏蠢オ譌・", cHolidayType_Half)
  539. End Sub
  540.  
  541.  
  542. Sub FindWholeYearHolidays_CN(YearInt as Integer)
  543.     CalculateChineseNewYear(YearInt)
  544.     CalInsertBankholiday(DateSerial(YearInt, 1, 1), "蜈率", cHolidayType_Full)            ' New Year
  545.     CalInsertBankholiday(DateSerial(YearInt, 3, 8), "螯螂ウ闃", cHolidayType_Half)           ' Women's Day
  546.     CalInsertBankholiday(DateSerial(YearInt, 4, 5), "貂譏手鰍", cHolidayType_Half)            ' Day of the deads
  547.     CalInsertBankholiday(DateSerial(YearInt, 5, 1), "蜉ウ蜉ィ闃", cHolidayType_Full)            ' International Labour Day
  548.     CalInsertBankholiday(DateSerial(YearInt, 6, 1), "蜆ソ遶・闃", cHolidayType_Half)            ' Children's Day
  549.     CalInsertBankholiday(DateSerial(YearInt, 8, 1), "蟒コ蜀幄鰍", cHolidayType_Half)            ' Foundation of military
  550.     CalInsertBankholiday(DateSerial(YearInt, 10, 1), "蝗ス蠎闃", cHolidayType_Full)            ' National festival day
  551. End Sub
  552.  
  553.  
  554. ' Unfortunately I could not find a Routine to convert a 'Moon Date' into a gregorian date
  555. Sub CalculateChineseNewYear(iSelYear as Integer)
  556. Dim lDate as Long
  557.     Select Case iSelYear
  558.         Case 1995
  559.             lDate = DateSerial(iSelYear, 1, 31)
  560.         Case 1996
  561.             lDate = DateSerial(iSelYear, 2, 19)
  562.         Case 1997
  563.             lDate = DateSerial(iSelYear, 2, 7)
  564.         Case 1998
  565.             lDate = DateSerial(iSelYear, 1, 28)
  566.         Case 1999
  567.             lDate = DateSerial(iSelYear,2, 16)
  568.         Case 2000
  569.             lDate = DateSerial(iSelYear,2, 5)
  570.         Case 2001
  571.             lDate = DateSerial(iSelYear, 1, 24)
  572.         Case 2002
  573.             lDate = DateSerial(iSelYear,2, 12)
  574.         Case 2003
  575.             lDate = DateSerial(iSelYear,2, 1)
  576.         Case 2004
  577.             lDate = DateSerial(iSelYear, 1, 22)
  578.         Case 2005
  579.             lDate = DateSerial(iSelYear,2, 9)
  580.         Case 2006
  581.             lDate = DateSerial(iSelYear, 1, 29)
  582.         Case 2007
  583.             lDate = DateSerial(iSelYear,2, 18)
  584.         Case 2008
  585.             lDate = DateSerial(iSelYear,2, 7)
  586.         Case 2009
  587.             lDate = DateSerial(iSelYear, 1, 26)
  588.         Case 2010
  589.             lDate = DateSerial(iSelYear,2, 10)
  590.         Case 2011
  591.             lDate = DateSerial(iSelYear,2, 3)
  592.         Case 2012
  593.             lDate = DateSerial(iSelYear, 1, 23)
  594.         Case 2013
  595.             lDate = DateSerial(iSelYear,2, 10)
  596.         Case 2014
  597.             lDate = DateSerial(iSelYear, 1, 31)
  598.         Case 2015
  599.             lDate = DateSerial(iSelYear,2, 19)
  600.         Case 2016
  601.             lDate = DateSerial(iSelYear,2, 9)
  602.         Case 2017
  603.             lDate = DateSerial(iSelYear, 1, 28)
  604.         Case 2018
  605.             lDate = DateSerial(iSelYear,2, 16)
  606.         Case 2019
  607.             lDate = DateSerial(iSelYear,2, 5)
  608.         Case 2020
  609.             lDate = DateSerial(iSelYear, 1, 25)
  610.         Case Else
  611.             Exit Sub
  612.     End Select
  613.     Select Case  sCurCountryLocale
  614.         Case "CN"
  615.             CalInsertBankholiday(lDate-1, "蜀懷紙髯、螟", cHolidayType_Full)
  616.             CalInsertBankholiday(lDate, "譏・闃ょ昜ク", cHolidayType_Full)
  617.             CalInsertBankholiday(lDate+1, "譏・闃ょ昜コ", cHolidayType_Full)
  618.             CalInsertBankholiday(lDate+2, "譏・闃ょ昜ク", cHolidayType_Full)
  619.  
  620.         Case Else
  621.             CalInsertBankholiday(lDate-1, "霎イ譖髯、螟", cHolidayType_Full)
  622.             CalInsertBankholiday(lDate, "譏・遽蛻昜ク", cHolidayType_Full)
  623.             CalInsertBankholiday(lDate+1, "譏・遽蛻昜コ", cHolidayType_Full)
  624.             CalInsertBankholiday(lDate+2, "譏・遽蛻昜ク", cHolidayType_Full)
  625.     End Select
  626. End Sub
  627.  
  628.  
  629. Function CalculateJapaneseSpringDay(iSelYear as Integer)
  630.     If (iSelYear > 1979) And (iSelYear < 2100) Then
  631.         CalculateJapaneseSpringDay() = Int(20.8431 + 0.242194)* (iSelYear-1980) - (Int((iSelYear-1980)/4))
  632.     End If
  633. End Function
  634.  
  635.  
  636. Function CalculateJapaneseAutumnDay(iSelYear as Integer)
  637.     If (iSelYear > 1979) And (iSelYear < 2100) Then
  638.         CalculateJapaneseAutumnDay() = Int(23.8431 + 0.242194)* (iSelYear-1980) - (Int((iSelYear-1980)/4))
  639.     End If
  640. End Function</script:module>