Upload
gatoinvestigador48
View
218
Download
0
Embed Size (px)
Citation preview
Function XDATE(y, m, d, Optional fmt As String) As String
If IsMissing(fmt) Thn fmt ! "Short Dat"
XDATE ! Format(DatSrial(y, m, d), fmt)
End Function
Function XDATEADD(#dat$, days, Optional fmt As String) As String
Dim TmpDat As Dat
If IsMissing(fmt) Thn fmt ! "Short Dat"
#dat$ ! %mo&Day(#dat$)
TmpDat ! Dat'alu(#dat$)
XDATEADD ! Format(TmpDat days, fmt)
End Function
Function XDATEDIF(#dat$, #dat) As *ong
#dat$ ! %mo&Day(#dat$)
#dat ! %mo&Day(#dat)
XDATEDIF ! Dat'alu(#dat$) + Dat'alu(#dat)
End Function
Function XDATEEA%DIF(#dat$, #dat) As *ong
Dim arDiff As *ong
#dat$ ! %mo&Day(#dat$)
#dat ! %mo&Day(#dat)
arDiff ! ar(#dat) + ar(#dat$)
If DatSrial(ar(#dat$), Month(#dat), Day(#dat)) - .Dat(#dat$) Thn
arDiff ! arDiff + $
XDATEEA%DIF ! arDiff
End Function
Function XDATEEA%(#dat$)
#dat$ ! %mo&Day(#dat$)
XDATEEA% ! ar(Dat'alu(#dat$))
End Function
Function XDATEMO/T0(#dat$)
#dat$ ! %mo&Day(#dat$)
XDATEMO/T0 ! Month(Dat'alu(#dat$))
End Function
Function XDATEDA(#dat$)
#dat$ ! %mo&Day(#dat$)
XDATEDA ! Day(Dat'alu(#dat$))
End Function
Function XDATEDO1(#dat$)
#dat$ ! %mo&Day(#dat$)
XDATEDO1 ! 12day(#dat$)
End Function
3ri&at Function %mo&Day(#dat$)
4 %mo& day of 52 from string
Dim i As Intgr
Dim Tmp As String
Tmp ! #dat$
For i ! 6 To 7 48na99r&iatd day nams
Tmp ! Application:Su9stitut(Tmp, Format(DatSrial($;66, $, 6), "dddd"), "")
/#t i
For i ! 6 To 7 4A99r&iatd day nams
Tmp ! Application:Su9stitut(Tmp, Format(DatSrial($;66, $, 6), "ddd"), "")
/#t i
%mo&Day ! Tmp
End Function
Su9 StMacroOptions()
4 Add dscriptions, and put in th Dat < Tim function catgory
Dim 0lpFil As String
0lpFil ! This1or29oo2:3ath < "=#dat:hlp"
4 On Error %sum /#t
4 1ith Application
4 :MacroOptions macro>!"XDATE", Dscription>!"(ADD+I/ F8/.TIO/) %turns
a dat for any yar 9t5n 6$66 and ;;;;: fmt is an optional dat formatting string:",
.atgory>!, 0lp.ont#tID>!66, 0lpFil>!0lpFil
4 :MacroOptions macro>!"XDATEADD", Dscription>!"(ADD+I/ F8/.TIO/)
%turns a dat, incrmntd 9y a spcifid num9r of days: fmt is an optional dat
formatting string:", .atgory>!, 0lp.ont#tID>!?66, 0lpFil>!0lpFil
4 :MacroOptions macro>!"XDATEDIF", Dscription>!"(ADD+I/ F8/.TIO/)
%turns th num9r of days 9t5n dat$ and dat (dat$+dat):", .atgory>!,
0lp.ont#tID>!@66, 0lpFil>!0lpFil
4 :MacroOptions macro>!"XDATEEA%DIF", Dscription>!"(ADD+I/
F8/.TIO/) %turns th num9r of full yars 9t5n dat$ and dat (dat$+dat):
8sful for calculating ags:", .atgory>!, 0lp.ont#tID>!66, 0lpFil>!0lpFil
4 :MacroOptions macro>!"XDATEEA%", Dscription>!"(ADD+I/ F8/.TIO/)
%turns th yar for a dat:", .atgory>!, 0lp.ont#tID>!766, 0lpFil>!0lpFil
4 :MacroOptions macro>!"XDATEMO/T0", Dscription>!"(ADD+I/
F8/.TIO/) %turns th month for a dat:", .atgory>!, 0lp.ont#tID>!B66,
0lpFil>!0lpFil
4 :MacroOptions macro>!"XDATEDA", Dscription>!"(ADD+I/ F8/.TIO/)
%turns th day for a dat:", .atgory>!, 0lp.ont#tID>!C66, 0lpFil>!0lpFil
4 :MacroOptions macro>!"XDATEDO1", Dscription>!"(ADD+I/ F8/.TIO/)
%turns an intgr corrsponding to th 52day for a dat ($!Sunday):", .atgory>!,
0lp.ont#tID>!;66, 0lpFil>!0lpFil
4 End 1ith
4If tStting(A33/AME>!"1al2", sction>!"E#tnddDatFunctions",
y>!"FunctionMsg", Dfault>!$) ! $ Thn 8srForm$:Sho5
End Su9
ADEMAS E/ T0IS 1O%GOO
3ri&at Su9 1or29oo2HOpn()
StMacroOptions
End Su9