2
Function XDATE(y, m, d, Optional fmt As String) As String  If IsMissing(fmt) Thn fmt ! "Short Dat"  XDAT E ! Format( DatS rial( y, m, d), fmt) End Function Function XDAT EADD(#dat$, days, Optional fmt As String) As String  Dim T mpDat As Dat  If IsMissing(fmt) Thn fmt ! "Short Dat"  #dat$ ! %mo&Day(#dat$)  T mpDat ! Dat'alu(#dat$ )  XDAT EADD ! Format( TmpDat days, fmt) End Function Function XDATEDIF(#dat$, #dat) As *ong  #dat$ ! %mo&Day(#dat$)  #dat ! %mo&Day(#dat)  XDAT EDIF ! 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(#da t) + 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$)  XDAT EEA% ! ar(Da t'a lu(#da t$)) End Function Function XDATEMO/T0(#dat$)  #dat$ ! %mo&Day(#dat$)  XDATEMO/T0 ! Month(Da t'alu(#dat$) ) End Function Function XDATEDA(#dat$)  #dat$ ! %mo&Day(#dat$)  XDATEDA ! Day(Dat 'a lu(#d at$)) End Function Function XDATEDO1(#dat$)  #dat$ ! %mo&Day(#dat$)  XDAT EDO1 ! 1 2day(#d at$) End Function 3ri&at Function %mo&Day(#dat$)

FUNCIONES DE XDATE.doc

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