WebマクロもしくはWebフォームの埋め込みマクロで祝日を列挙
サーバサイドのデータマクロだと都度の処理が遅いからクライアントで実行できるようにしてみた。用途を決めてないから日と祝日名だけ。以下、xmlのみ
<?xml version="1.0" encoding="UTF-16" standalone="no"?>
<UserInterfaceMacros xmlns="http://schemas.microsoft.com/office/accessservices/2009/11/application">
<UserInterfaceMacro MinimumClientDesignVersion="14.0.0000.0000">
<Statements>
<Action Collapsed="true" Name="RunMacro">
<Argument Name="MacroName">="FunctionSHolidayJP.GetHoliday" & [TempVars]![tmpArg2]</Argument>
</Action>
<Action Collapsed="true" Name="MessageBox">
<Argument Name="Message">=[TempVars]![tmpArg1]</Argument>
</Action>
<Action Collapsed="true" Name="RemoveTempVar">
<Argument Name="Name">tmpArg1</Argument>
</Action>
<Action Collapsed="true" Name="RemoveTempVar">
<Argument Name="Name">tmpArg2</Argument>
</Action>
</Statements>
<Sub Collapsed="true" Name="GetHoliday1">
<Statements>
<ConditionalBlock>
<If Collapsed="true">
<Condition>[TempVars]![tmpArg1]>=1949</Condition>
<Statements>
<StatementGroup Collapsed="true" Description="WeekDay:WD1">
<Statements>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">lclDate</Argument>
<Argument Name="Expression">DateSerial([TempVars]![tmpArg1],1,1)</Argument>
</Action>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">Div7</Argument>
<Argument Name="Expression">([LocalVars]![lclDate]-1)/7</Argument>
</Action>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">IntDiv7</Argument>
<Argument Name="Expression">CDbl(FormatNumber([LocalVars]![Div7]-0.5,0,-1,0,0))</Argument>
</Action>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">WD1</Argument>
<Argument Name="Expression">CDbl([LocalVars]![lclDate])-[LocalVars]![IntDiv7]*7</Argument>
</Action>
</Statements>
</StatementGroup>
<StatementGroup Collapsed="true" Description="元旦">
<Statements>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">lclDay</Argument>
<Argument Name="Expression">"01元旦"</Argument>
</Action>
<ConditionalBlock>
<If Collapsed="true">
<Condition>[TempVars]![tmpArg1]>=1973 And [LocalVars]![WD1]=1</Condition>
<Statements>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">lclDay</Argument>
<Argument Name="Expression">[LocalVars]![lclDay] & "02振替休日"</Argument>
</Action>
</Statements>
</If>
</ConditionalBlock>
</Statements>
</StatementGroup>
<StatementGroup Collapsed="true" Description="成人の日">
<Statements>
<ConditionalBlock>
<If Collapsed="true">
<Condition>[TempVars]![tmpArg1]<=1999</Condition>
<Statements>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">lclDate</Argument>
<Argument Name="Expression">DateSerial([TempVars]![tmpArg1],1,15)</Argument>
</Action>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">Div7</Argument>
<Argument Name="Expression">([LocalVars]![lclDate]-1)/7</Argument>
</Action>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">IntDiv7</Argument>
<Argument Name="Expression">CDbl(FormatNumber([LocalVars]![Div7]-0.5,0,-1,0,0))</Argument>
</Action>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">WD15</Argument>
<Argument Name="Expression">CDbl([LocalVars]![lclDate])-[LocalVars]![IntDiv7]*7</Argument>
</Action>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">lclDay</Argument>
<Argument Name="Expression">[LocalVars]![lclDay] & "15成人の日"</Argument>
</Action>
<ConditionalBlock>
<If Collapsed="true">
<Condition>[TempVars]![tmpArg1]>=1973 And [LocalVars]![WD15]=1</Condition>
<Statements>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">lclDay</Argument>
<Argument Name="Expression">[LocalVars]![lclDay] & "16振替休日"</Argument>
</Action>
</Statements>
</If>
</ConditionalBlock>
</Statements>
</If>
<Else Collapsed="true">
<Statements>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">lclDay</Argument>
<Argument Name="Expression">[LocalVars]![lclDay] & Right("0" & FormatNumber(10+IIf([LocalVars]![WD1]>2,1,0)*7-[LocalVars]![WD1],0,0,0,0),2) & "成人の日"</Argument>
</Action>
</Statements>
</Else>
</ConditionalBlock>
</Statements>
</StatementGroup>
</Statements>
</If>
<Else Collapsed="true">
<Statements>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">lclDay</Argument>
<Argument Name="Expression">""</Argument>
</Action>
</Statements>
</Else>
</ConditionalBlock>
<Action Collapsed="true" Name="SetTempVar">
<Argument Name="Name">tmpArg1</Argument>
<Argument Name="Expression">[LocalVars]![lclDay]</Argument>
</Action>
</Statements>
</Sub>
<Sub Collapsed="true" Name="GetHoliday2">
<Statements>
<ConditionalBlock>
<If Collapsed="true">
<Condition>[TempVars]![tmpArg1]>=1967</Condition>
<Statements>
<StatementGroup Collapsed="true" Description="建国記念の日">
<Statements>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">lclDate</Argument>
<Argument Name="Expression">DateSerial([TempVars]![tmpArg1],2,11)</Argument>
</Action>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">Div7</Argument>
<Argument Name="Expression">([LocalVars]![lclDate]-1)/7</Argument>
</Action>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">IntDiv7</Argument>
<Argument Name="Expression">CDbl(FormatNumber([LocalVars]![Div7]-0.5,0,-1,0,0))</Argument>
</Action>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">WD11</Argument>
<Argument Name="Expression">CDbl([LocalVars]![lclDate])-[LocalVars]![IntDiv7]*7</Argument>
</Action>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">lclDay</Argument>
<Argument Name="Expression">"11建国記念の日"</Argument>
</Action>
<ConditionalBlock>
<If Collapsed="true">
<Condition>[TempVars]![tmpArg1]>=1973 And [LocalVars]![WD11]=1</Condition>
<Statements>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">lclDay</Argument>
<Argument Name="Expression">[LocalVars]![lclDay] & "12振替休日"</Argument>
</Action>
</Statements>
</If>
</ConditionalBlock>
</Statements>
</StatementGroup>
</Statements>
</If>
<Else Collapsed="true">
<Statements>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">lclDay</Argument>
<Argument Name="Expression">""</Argument>
</Action>
</Statements>
</Else>
</ConditionalBlock>
<Action Collapsed="true" Name="SetTempVar">
<Argument Name="Name">tmpArg1</Argument>
<Argument Name="Expression">[LocalVars]![lclDay]</Argument>
</Action>
</Statements>
</Sub>
<Sub Collapsed="true" Name="GetHoliday3">
<Statements>
<StatementGroup Collapsed="true" Description="春分の日">
<Statements>
<ConditionalBlock>
<If Collapsed="true">
<Condition>[TempVars]![tmpArg1]<=2150 And [TempVars]![tmpArg1]>=1949</Condition>
<Statements>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">lclYS</Argument>
<Argument Name="Expression">[TempVars]![tmpArg1]-1980</Argument>
</Action>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">Div480</Argument>
<Argument Name="Expression">[LocalVars]![lclYS]/4</Argument>
</Action>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">Div483</Argument>
<Argument Name="Expression">([TempVars]![tmpArg1]-1983)/4</Argument>
</Action>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">Fix80</Argument>
<Argument Name="Expression">IIf([LocalVars]![Div480]=0,0,CDbl(FormatNumber([LocalVars]![Div480]+IIf([LocalVars]![Div480]<0,0.5,-0.5),0,-1,0,0)))</Argument>
</Action>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">Fix83</Argument>
<Argument Name="Expression">IIf([LocalVars]![Div483]=0,0,CDbl(FormatNumber([LocalVars]![Div483]+IIf([LocalVars]![Div483]<0,0.5,-0.5),0,-1,0,0)))</Argument>
</Action>
<ConditionalBlock>
<If Collapsed="true">
<Condition>[TempVars]![tmpArg1]<=1979</Condition>
<Statements>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">lclDayS</Argument>
<Argument Name="Expression">20.8357+0.242194*[LocalVars]![lclYS]-[LocalVars]![Fix83]</Argument>
</Action>
</Statements>
</If>
<ElseIf Collapsed="true">
<Condition>[TempVars]![tmpArg1]<=2099</Condition>
<Statements>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">lclDayS</Argument>
<Argument Name="Expression">20.8431+0.242194*[LocalVars]![lclYS]-[LocalVars]![Fix80]</Argument>
</Action>
</Statements>
</ElseIf>
<Else Collapsed="true">
<Statements>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">lclDayS</Argument>
<Argument Name="Expression">21.851+0.242194*[LocalVars]![lclYS]-[LocalVars]![Fix80]</Argument>
</Action>
</Statements>
</Else>
</ConditionalBlock>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">lclDayS</Argument>
<Argument Name="Expression">CDbl(FormatNumber([LocalVars]![lclDayS]-0.5,0,-1,0,0))</Argument>
</Action>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">lclDate</Argument>
<Argument Name="Expression">DateSerial([TempVars]![tmpArg1],3,[LocalVars]![lclDayS])</Argument>
</Action>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">Div7</Argument>
<Argument Name="Expression">([LocalVars]![lclDate]-1)/7</Argument>
</Action>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">IntDiv7</Argument>
<Argument Name="Expression">CDbl(FormatNumber([LocalVars]![Div7]-0.5,0,-1,0,0))</Argument>
</Action>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">WDS</Argument>
<Argument Name="Expression">CDbl([LocalVars]![lclDate])-[LocalVars]![IntDiv7]*7</Argument>
</Action>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">lclDay</Argument>
<Argument Name="Expression">FormatNumber([LocalVars]![lclDayS],0,-1,0,0) & "春分の日"</Argument>
</Action>
<ConditionalBlock>
<If Collapsed="true">
<Condition>[TempVars]![tmpArg1]>=1973 And [LocalVars]![WDS]=1</Condition>
<Statements>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">lclDay</Argument>
<Argument Name="Expression">[LocalVars]![lclDay] & FormatNumber([LocalVars]![lclDayS]+1,0,-1,0,0) & "振替休日"</Argument>
</Action>
</Statements>
</If>
</ConditionalBlock>
</Statements>
</If>
<Else Collapsed="true">
<Statements>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">lclDay</Argument>
<Argument Name="Expression">""</Argument>
</Action>
</Statements>
</Else>
</ConditionalBlock>
</Statements>
</StatementGroup>
<Action Collapsed="true" Name="SetTempVar">
<Argument Name="Name">tmpArg1</Argument>
<Argument Name="Expression">[LocalVars]![lclDay]</Argument>
</Action>
</Statements>
</Sub>
<Sub Collapsed="true" Name="GetHoliday4">
<Statements>
<ConditionalBlock>
<If Collapsed="true">
<Condition>[TempVars]![tmpArg1]>=1949</Condition>
<Statements>
<StatementGroup Collapsed="true" Description="昭和の日">
<Statements>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">lclDate</Argument>
<Argument Name="Expression">DateSerial([TempVars]![tmpArg1],4,29)</Argument>
</Action>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">Div7</Argument>
<Argument Name="Expression">([LocalVars]![lclDate]-1)/7</Argument>
</Action>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">IntDiv7</Argument>
<Argument Name="Expression">CDbl(FormatNumber([LocalVars]![Div7]-0.5,0,-1,0,0))</Argument>
</Action>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">WD29</Argument>
<Argument Name="Expression">CDbl([LocalVars]![lclDate])-[LocalVars]![IntDiv7]*7</Argument>
</Action>
<ConditionalBlock>
<If Collapsed="true">
<Condition>[TempVars]![tmpArg1]>=2007</Condition>
<Statements>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">lclDay</Argument>
<Argument Name="Expression">"29昭和の日"</Argument>
</Action>
</Statements>
</If>
<ElseIf Collapsed="true">
<Condition>[TempVars]![tmpArg1]>=1989</Condition>
<Statements>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">lclDay</Argument>
<Argument Name="Expression">"29みどりの日"</Argument>
</Action>
</Statements>
</ElseIf>
<Else Collapsed="true">
<Statements>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">lclDay</Argument>
<Argument Name="Expression">"29天皇誕生日"</Argument>
</Action>
</Statements>
</Else>
</ConditionalBlock>
<ConditionalBlock>
<If Collapsed="true">
<Condition>[TempVars]![tmpArg1]>=1973 And [LocalVars]![WD29]=1</Condition>
<Statements>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">lclDay</Argument>
<Argument Name="Expression">[LocalVars]![lclDay] & "30振替休日"</Argument>
</Action>
</Statements>
</If>
</ConditionalBlock>
</Statements>
</StatementGroup>
</Statements>
</If>
<Else Collapsed="true">
<Statements>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">lclDay</Argument>
<Argument Name="Expression">""</Argument>
</Action>
</Statements>
</Else>
</ConditionalBlock>
<Action Collapsed="true" Name="SetTempVar">
<Argument Name="Name">tmpArg1</Argument>
<Argument Name="Expression">[LocalVars]![lclDay]</Argument>
</Action>
</Statements>
</Sub>
<Sub Collapsed="true" Name="GetHoliday5">
<Statements>
<ConditionalBlock>
<If Collapsed="true">
<Condition>[TempVars]![tmpArg1]>=1949</Condition>
<Statements>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">lclDate</Argument>
<Argument Name="Expression">DateSerial([TempVars]![tmpArg1],5,3)</Argument>
</Action>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">Div7</Argument>
<Argument Name="Expression">([LocalVars]![lclDate]-1)/7</Argument>
</Action>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">IntDiv7</Argument>
<Argument Name="Expression">CDbl(FormatNumber([LocalVars]![Div7]-0.5,0,-1,0,0))</Argument>
</Action>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">WD3</Argument>
<Argument Name="Expression">CDbl([LocalVars]![lclDate])-[LocalVars]![IntDiv7]*7</Argument>
</Action>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">lclDate</Argument>
<Argument Name="Expression">DateSerial([TempVars]![tmpArg1],5,5)</Argument>
</Action>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">Div7</Argument>
<Argument Name="Expression">([LocalVars]![lclDate]-1)/7</Argument>
</Action>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">IntDiv7</Argument>
<Argument Name="Expression">CDbl(FormatNumber([LocalVars]![Div7]-0.5,0,-1,0,0))</Argument>
</Action>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">WD5</Argument>
<Argument Name="Expression">CDbl([LocalVars]![lclDate])-[LocalVars]![IntDiv7]*7</Argument>
</Action>
<ConditionalBlock>
<If Collapsed="true">
<Condition>[TempVars]![tmpArg1]>=2007</Condition>
<Statements>
<ConditionalBlock>
<If Collapsed="true">
<Condition>[LocalVars]![WD3]>=2 And [LocalVars]![WD3]<=5</Condition>
<Statements>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">lclDay</Argument>
<Argument Name="Expression">"03憲法記念日04みどりの日05こどもの日"</Argument>
</Action>
</Statements>
</If>
<Else Collapsed="true">
<Statements>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">lclDay</Argument>
<Argument Name="Expression">"03憲法記念日04みどりの日05こどもの日06振替休日"</Argument>
</Action>
</Statements>
</Else>
</ConditionalBlock>
</Statements>
</If>
<ElseIf Collapsed="true">
<Condition>[TempVars]![tmpArg1]>=1986</Condition>
<Statements>
<ConditionalBlock>
<If Collapsed="true">
<Condition>[LocalVars]![WD3]=1</Condition>
<Statements>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">lclDay</Argument>
<Argument Name="Expression">"03憲法記念日04振替休日05こどもの日"</Argument>
</Action>
</Statements>
</If>
<ElseIf Collapsed="true">
<Condition>[LocalVars]![WD3]=7</Condition>
<Statements>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">lclDay</Argument>
<Argument Name="Expression">"03憲法記念日05こどもの日"</Argument>
</Action>
</Statements>
</ElseIf>
<ElseIf Collapsed="true">
<Condition>[LocalVars]![WD5]=1</Condition>
<Statements>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">lclDay</Argument>
<Argument Name="Expression">"03憲法記念日04国民の休日05こどもの日06振替休日"</Argument>
</Action>
</Statements>
</ElseIf>
<Else Collapsed="true">
<Statements>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">lclDay</Argument>
<Argument Name="Expression">"03憲法記念日04国民の休日05こどもの日"</Argument>
</Action>
</Statements>
</Else>
</ConditionalBlock>
</Statements>
</ElseIf>
<ElseIf Collapsed="true">
<Condition>[TempVars]![tmpArg1]>=1973</Condition>
<Statements>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">lclDay</Argument>
<Argument Name="Expression">"03憲法記念日" & IIf([LocalVars]![WD3]=1,"04振替休日","") & "05こどもの日" & IIf([LocalVars]![WD5]=1,"06振替休日","")</Argument>
</Action>
</Statements>
</ElseIf>
<Else Collapsed="true">
<Statements>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">lclDay</Argument>
<Argument Name="Expression">"03憲法記念日05こどもの日"</Argument>
</Action>
</Statements>
</Else>
</ConditionalBlock>
</Statements>
</If>
<Else Collapsed="true">
<Statements>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">lclDay</Argument>
<Argument Name="Expression">""</Argument>
</Action>
</Statements>
</Else>
</ConditionalBlock>
<Action Collapsed="true" Name="SetTempVar">
<Argument Name="Name">tmpArg1</Argument>
<Argument Name="Expression">[LocalVars]![lclDay]</Argument>
</Action>
</Statements>
</Sub>
<Sub Collapsed="true" Name="GetHoliday6">
<Statements>
<Action Collapsed="true" Name="SetTempVar">
<Argument Name="Name">tmpArg1</Argument>
<Argument Name="Expression">""</Argument>
</Action>
</Statements>
</Sub>
<Sub Collapsed="true" Name="GetHoliday7">
<Statements>
<ConditionalBlock>
<If Collapsed="true">
<Condition>[TempVars]![tmpArg1]>=1996</Condition>
<Statements>
<StatementGroup Collapsed="true" Description="海の日">
<Statements>
<ConditionalBlock>
<If Collapsed="true">
<Condition>[TempVars]![tmpArg1]>=2003</Condition>
<Statements>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">lclDate</Argument>
<Argument Name="Expression">DateSerial([TempVars]![tmpArg1],7,1)</Argument>
</Action>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">Div7</Argument>
<Argument Name="Expression">([LocalVars]![lclDate]-1)/7</Argument>
</Action>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">IntDiv7</Argument>
<Argument Name="Expression">CDbl(FormatNumber([LocalVars]![Div7]-0.5,0,-1,0,0))</Argument>
</Action>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">WD1</Argument>
<Argument Name="Expression">CDbl([LocalVars]![lclDate])-[LocalVars]![IntDiv7]*7</Argument>
</Action>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">lclDay</Argument>
<Argument Name="Expression">FormatNumber(17+IIf([LocalVars]![WD1]>2,1,0)*7-[LocalVars]![WD1],0,-1,0,0) & "海の日"</Argument>
</Action>
</Statements>
</If>
<Else Collapsed="true">
<Statements>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">lclDate</Argument>
<Argument Name="Expression">DateSerial([TempVars]![tmpArg1],7,20)</Argument>
</Action>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">Div7</Argument>
<Argument Name="Expression">([LocalVars]![lclDate]-1)/7</Argument>
</Action>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">IntDiv7</Argument>
<Argument Name="Expression">CDbl(FormatNumber([LocalVars]![Div7]-0.5,0,-1,0,0))</Argument>
</Action>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">WD20</Argument>
<Argument Name="Expression">CDbl([LocalVars]![lclDate])-[LocalVars]![IntDiv7]*7</Argument>
</Action>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">lclDay</Argument>
<Argument Name="Expression">"20海の日"</Argument>
</Action>
<ConditionalBlock>
<If Collapsed="true">
<Condition>[LocalVars]![WD20]=1</Condition>
<Statements>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">lclDay</Argument>
<Argument Name="Expression">[LocalVars]![lclDay] & "21振替休日"</Argument>
</Action>
</Statements>
</If>
</ConditionalBlock>
</Statements>
</Else>
</ConditionalBlock>
</Statements>
</StatementGroup>
</Statements>
</If>
<Else Collapsed="true">
<Statements>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">lclDay</Argument>
<Argument Name="Expression">""</Argument>
</Action>
</Statements>
</Else>
</ConditionalBlock>
<Action Collapsed="true" Name="SetTempVar">
<Argument Name="Name">tmpArg1</Argument>
<Argument Name="Expression">[LocalVars]![lclDay]</Argument>
</Action>
</Statements>
</Sub>
<Sub Collapsed="true" Name="GetHoliday8">
<Statements>
<Action Collapsed="true" Name="SetTempVar">
<Argument Name="Name">tmpArg1</Argument>
<Argument Name="Expression">""</Argument>
</Action>
</Statements>
</Sub>
<Sub Collapsed="true" Name="GetHoliday9">
<Statements>
<StatementGroup Collapsed="true" Description="敬老の日">
<Statements>
<ConditionalBlock>
<If Collapsed="true">
<Condition>[TempVars]![tmpArg1]>=2003</Condition>
<Statements>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">lclDate</Argument>
<Argument Name="Expression">DateSerial([TempVars]![tmpArg1],9,1)</Argument>
</Action>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">Div7</Argument>
<Argument Name="Expression">([LocalVars]![lclDate]-1)/7</Argument>
</Action>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">IntDiv7</Argument>
<Argument Name="Expression">CDbl(FormatNumber([LocalVars]![Div7]-0.5,0,-1,0,0))</Argument>
</Action>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">WD1</Argument>
<Argument Name="Expression">CDbl([LocalVars]![lclDate])-[LocalVars]![IntDiv7]*7</Argument>
</Action>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">lclDayK</Argument>
<Argument Name="Expression">17+IIf([LocalVars]![WD1]>2,1,0)*7-[LocalVars]![WD1]</Argument>
</Action>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">lclDay1</Argument>
<Argument Name="Expression">FormatNumber([LocalVars]![lclDayK],0,-1,0,0) & "敬老の日"</Argument>
</Action>
</Statements>
</If>
<ElseIf Collapsed="true">
<Condition>[TempVars]![tmpArg1]>=1966</Condition>
<Statements>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">lclDate</Argument>
<Argument Name="Expression">DateSerial([TempVars]![tmpArg1],9,15)</Argument>
</Action>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">Div7</Argument>
<Argument Name="Expression">([LocalVars]![lclDate]-1)/7</Argument>
</Action>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">IntDiv7</Argument>
<Argument Name="Expression">CDbl(FormatNumber([LocalVars]![Div7]-0.5,0,-1,0,0))</Argument>
</Action>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">WDK</Argument>
<Argument Name="Expression">CDbl([LocalVars]![lclDate])-[LocalVars]![IntDiv7]*7</Argument>
</Action>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">lclDayK</Argument>
<Argument Name="Expression">15</Argument>
</Action>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">lclDay1</Argument>
<Argument Name="Expression">"15敬老の日" & IIf([LocalVars]![WDK]=1,"16振替休日","")</Argument>
</Action>
</Statements>
</ElseIf>
</ConditionalBlock>
</Statements>
</StatementGroup>
<StatementGroup Collapsed="true" Description="秋分の日">
<Statements>
<ConditionalBlock>
<If Collapsed="true">
<Condition>[TempVars]![tmpArg1]<=2150 And [TempVars]![tmpArg1]>=1948</Condition>
<Statements>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">lclYS</Argument>
<Argument Name="Expression">[TempVars]![tmpArg1]-1980</Argument>
</Action>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">Div480</Argument>
<Argument Name="Expression">[LocalVars]![lclYS]/4</Argument>
</Action>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">Div483</Argument>
<Argument Name="Expression">([TempVars]![tmpArg1]-1983)/4</Argument>
</Action>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">Fix80</Argument>
<Argument Name="Expression">IIf([LocalVars]![Div480]=0,0,CDbl(FormatNumber([LocalVars]![Div480]+IIf([LocalVars]![Div480]<0,0.5,-0.5),0,-1,0,0)))</Argument>
</Action>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">Fix83</Argument>
<Argument Name="Expression">IIf([LocalVars]![Div483]=0,0,CDbl(FormatNumber([LocalVars]![Div483]+IIf([LocalVars]![Div483]<0,0.5,-0.5),0,-1,0,0)))</Argument>
</Action>
<ConditionalBlock>
<If Collapsed="true">
<Condition>[TempVars]![tmpArg1]<=1979</Condition>
<Statements>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">lclDayS</Argument>
<Argument Name="Expression">23.2588+0.242194*[LocalVars]![lclYS]-[LocalVars]![Fix83]</Argument>
</Action>
</Statements>
</If>
<ElseIf Collapsed="true">
<Condition>[TempVars]![tmpArg1]<=2099</Condition>
<Statements>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">lclDayS</Argument>
<Argument Name="Expression">23.2488+0.242194*[LocalVars]![lclYS]-[LocalVars]![Fix80]</Argument>
</Action>
</Statements>
</ElseIf>
<Else Collapsed="true">
<Statements>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">lclDayS</Argument>
<Argument Name="Expression">24.2488+0.242194*[LocalVars]![lclYS]-[LocalVars]![Fix80]</Argument>
</Action>
</Statements>
</Else>
</ConditionalBlock>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">lclDayS</Argument>
<Argument Name="Expression">CDbl(FormatNumber([LocalVars]![lclDayS]-0.5,0,-1,0,0))</Argument>
</Action>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">lclDate</Argument>
<Argument Name="Expression">DateSerial([TempVars]![tmpArg1],9,[LocalVars]![lclDayS])</Argument>
</Action>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">Div7</Argument>
<Argument Name="Expression">([LocalVars]![lclDate]-1)/7</Argument>
</Action>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">IntDiv7</Argument>
<Argument Name="Expression">CDbl(FormatNumber([LocalVars]![Div7]-0.5,0,-1,0,0))</Argument>
</Action>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">WDS</Argument>
<Argument Name="Expression">CDbl([LocalVars]![lclDate])-[LocalVars]![IntDiv7]*7</Argument>
</Action>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">lclDay3</Argument>
<Argument Name="Expression">FormatNumber([LocalVars]![lclDayS],0,-1,0,0) & "秋分の日" & IIf([LocalVars]![WDS]=1,FormatNumber([LocalVars]![lclDayS]+1,0,-1,0,0) & "振替休日","")</Argument>
</Action>
</Statements>
</If>
</ConditionalBlock>
</Statements>
</StatementGroup>
<StatementGroup Collapsed="true" Description="国民の休日">
<Statements>
<ConditionalBlock>
<If Collapsed="true">
<Condition>[TempVars]![tmpArg1]>=2003</Condition>
<Statements>
<ConditionalBlock>
<If Collapsed="true">
<Condition>[LocalVars]![lclDayS]-[LocalVars]![lclDayK]=2</Condition>
<Statements>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">lclDay2</Argument>
<Argument Name="Expression">FormatNumber([LocalVars]![lclDayK]+1,0,-1,0,0) & "国民の休日"</Argument>
</Action>
</Statements>
</If>
</ConditionalBlock>
</Statements>
</If>
</ConditionalBlock>
</Statements>
</StatementGroup>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">lclDay</Argument>
<Argument Name="Expression">Nz([LocalVars]![lclDay1],"") & Nz([LocalVars]![lclDay2],"") & Nz([LocalVars]![lclDay3],"")</Argument>
</Action>
<Action Collapsed="true" Name="SetTempVar">
<Argument Name="Name">tmpArg1</Argument>
<Argument Name="Expression">[LocalVars]![lclDay]</Argument>
</Action>
</Statements>
</Sub>
<Sub Collapsed="true" Name="GetHoliday10">
<Statements>
<ConditionalBlock>
<If Collapsed="true">
<Condition>[TempVars]![tmpArg1]>=1966</Condition>
<Statements>
<StatementGroup Collapsed="true" Description="体育の日">
<Statements>
<ConditionalBlock>
<If Collapsed="true">
<Condition>[TempVars]![tmpArg1]>=2000</Condition>
<Statements>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">lclDate</Argument>
<Argument Name="Expression">DateSerial([TempVars]![tmpArg1],10,1)</Argument>
</Action>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">Div7</Argument>
<Argument Name="Expression">([LocalVars]![lclDate]-1)/7</Argument>
</Action>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">IntDiv7</Argument>
<Argument Name="Expression">CDbl(FormatNumber([LocalVars]![Div7]-0.5,0,-1,0,0))</Argument>
</Action>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">WD1</Argument>
<Argument Name="Expression">CDbl([LocalVars]![lclDate])-[LocalVars]![IntDiv7]*7</Argument>
</Action>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">lclDay</Argument>
<Argument Name="Expression">Right("0" & FormatNumber(10+IIf([LocalVars]![WD1]>2,1,0)*7-[LocalVars]![WD1],0,-1,0,0),2) & "体育の日"</Argument>
</Action>
</Statements>
</If>
<Else Collapsed="true">
<Statements>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">lclDate</Argument>
<Argument Name="Expression">DateSerial([TempVars]![tmpArg1],10,10)</Argument>
</Action>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">Div7</Argument>
<Argument Name="Expression">([LocalVars]![lclDate]-1)/7</Argument>
</Action>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">IntDiv7</Argument>
<Argument Name="Expression">CDbl(FormatNumber([LocalVars]![Div7]-0.5,0,-1,0,0))</Argument>
</Action>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">WD10</Argument>
<Argument Name="Expression">CDbl([LocalVars]![lclDate])-[LocalVars]![IntDiv7]*7</Argument>
</Action>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">lclDay</Argument>
<Argument Name="Expression">"10体育の日"</Argument>
</Action>
<ConditionalBlock>
<If Collapsed="true">
<Condition>[TempVars]![tmpArg1]>=1973</Condition>
<Statements>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">lclDay</Argument>
<Argument Name="Expression">[LocalVars]![lclDay] & IIf([LocalVars]![WD10]=1,"11振替休日","")</Argument>
</Action>
</Statements>
</If>
</ConditionalBlock>
</Statements>
</Else>
</ConditionalBlock>
</Statements>
</StatementGroup>
</Statements>
</If>
<Else Collapsed="true">
<Statements>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">lclDay</Argument>
<Argument Name="Expression">""</Argument>
</Action>
</Statements>
</Else>
</ConditionalBlock>
<Action Collapsed="true" Name="SetTempVar">
<Argument Name="Name">tmpArg1</Argument>
<Argument Name="Expression">[LocalVars]![lclDay]</Argument>
</Action>
</Statements>
</Sub>
<Sub Collapsed="true" Name="GetHoliday11">
<Statements>
<ConditionalBlock>
<If Collapsed="true">
<Condition>[TempVars]![tmpArg1]>=1948</Condition>
<Statements>
<StatementGroup Collapsed="true" Description="文化の日">
<Statements>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">lclDate</Argument>
<Argument Name="Expression">DateSerial([TempVars]![tmpArg1],11,3)</Argument>
</Action>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">Div7</Argument>
<Argument Name="Expression">([LocalVars]![lclDate]-1)/7</Argument>
</Action>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">IntDiv7</Argument>
<Argument Name="Expression">CDbl(FormatNumber([LocalVars]![Div7]-0.5,0,-1,0,0))</Argument>
</Action>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">WD3</Argument>
<Argument Name="Expression">CDbl([LocalVars]![lclDate])-[LocalVars]![IntDiv7]*7</Argument>
</Action>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">lclDay</Argument>
<Argument Name="Expression">"03文化の日"</Argument>
</Action>
<ConditionalBlock>
<If Collapsed="true">
<Condition>[TempVars]![tmpArg1]>=1973 And [LocalVars]![WD3]=1</Condition>
<Statements>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">lclDay</Argument>
<Argument Name="Expression">[LocalVars]![lclDay] & "04振替休日"</Argument>
</Action>
</Statements>
</If>
</ConditionalBlock>
</Statements>
</StatementGroup>
<StatementGroup Collapsed="true" Description="勤労感謝の日">
<Statements>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">lclDate</Argument>
<Argument Name="Expression">DateSerial([TempVars]![tmpArg1],11,23)</Argument>
</Action>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">Div7</Argument>
<Argument Name="Expression">([LocalVars]![lclDate]-1)/7</Argument>
</Action>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">IntDiv7</Argument>
<Argument Name="Expression">CDbl(FormatNumber([LocalVars]![Div7]-0.5,0,-1,0,0))</Argument>
</Action>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">WD23</Argument>
<Argument Name="Expression">CDbl([LocalVars]![lclDate])-[LocalVars]![IntDiv7]*7</Argument>
</Action>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">lclDay</Argument>
<Argument Name="Expression">[LocalVars]![lclDay] & "23勤労感謝の日"</Argument>
</Action>
<ConditionalBlock>
<If Collapsed="true">
<Condition>[TempVars]![tmpArg1]>=1973 And [LocalVars]![WD23]=1</Condition>
<Statements>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">lclDay</Argument>
<Argument Name="Expression">[LocalVars]![lclDay] & "24振替休日"</Argument>
</Action>
</Statements>
</If>
</ConditionalBlock>
</Statements>
</StatementGroup>
</Statements>
</If>
<Else Collapsed="true">
<Statements>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">lclDay</Argument>
<Argument Name="Expression">""</Argument>
</Action>
</Statements>
</Else>
</ConditionalBlock>
<Action Collapsed="true" Name="SetTempVar">
<Argument Name="Name">tmpArg1</Argument>
<Argument Name="Expression">[LocalVars]![lclDay]</Argument>
</Action>
</Statements>
</Sub>
<Sub Collapsed="true" Name="GetHoliday12">
<Statements>
<ConditionalBlock>
<If Collapsed="true">
<Condition>[TempVars]![tmpArg1]>=1989</Condition>
<Statements>
<StatementGroup Collapsed="true" Description="天皇誕生日">
<Statements>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">lclDate</Argument>
<Argument Name="Expression">DateSerial([TempVars]![tmpArg1],12,23)</Argument>
</Action>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">Div7</Argument>
<Argument Name="Expression">([LocalVars]![lclDate]-1)/7</Argument>
</Action>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">IntDiv7</Argument>
<Argument Name="Expression">CDbl(FormatNumber([LocalVars]![Div7]-0.5,0,-1,0,0))</Argument>
</Action>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">WD23</Argument>
<Argument Name="Expression">CDbl([LocalVars]![lclDate])-[LocalVars]![IntDiv7]*7</Argument>
</Action>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">lclDay</Argument>
<Argument Name="Expression">"23天皇誕生日"</Argument>
</Action>
<ConditionalBlock>
<If Collapsed="true">
<Condition>[LocalVars]![WD23]=1</Condition>
<Statements>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">lclDay</Argument>
<Argument Name="Expression">[LocalVars]![lclDay] & "24振替休日"</Argument>
</Action>
</Statements>
</If>
</ConditionalBlock>
</Statements>
</StatementGroup>
</Statements>
</If>
<Else Collapsed="true">
<Statements>
<Action Collapsed="true" Name="SetLocalVar">
<Argument Name="Name">lclDay</Argument>
<Argument Name="Expression">""</Argument>
</Action>
</Statements>
</Else>
</ConditionalBlock>
<Action Collapsed="true" Name="SetTempVar">
<Argument Name="Name">tmpArg1</Argument>
<Argument Name="Expression">[LocalVars]![lclDay]</Argument>
</Action>
</Statements>
</Sub>
</UserInterfaceMacro>
</UserInterfaceMacros>
0 件のコメント:
コメントを投稿