' MacroName: DateAdded ' MacroDescription: Estimate and enter a reasonable date for the Date Added field ' Written by: Joel Hahn, Niles Public Library District sub main Dim Session as Session Set Session = CurrentSession Dim CS as Session Set CS = CurrentSession Dim nContinue as Integer Dim nTimeOut as Integer Dim DateAdd$ Dim DateAddOld$ Dim CurrDate$ ' The default timeout for each command is 3 minutes. ' Increase this value if your host requires more time ' for each command. nTimeOut = 180 On Error Resume Next CS.GetTextInRegion Barcode$, 9, 20, 9, 38 Barcode$=Trim(Mid(Barcode$, 8, 6)) 'Barcode$=Trim(Mid(Session.ScreenText(9, 20, 1, 19), 8, 6)) BcNum=Val(Barcode$) CS.GetTextInRegion DateAddOld$, 17, 58, 17, 67 DateAddOld$=Trim(DateAddOld$) CurrDate$=Date$ Mid(CurrDate$, 3, 1)="/" Mid(CurrDate$, 6, 1)="/" xpos=CS.CursorRow ypos=CS.CursorColumn If Trim(DateAddOld$)="" Then Session.Send DateAdd$ + Chr(1) + "J" CS.Receive nTimeout, chr(27) + "[?25h" Session.Send " " CS.Receive nTimeout, chr(27) + "[?25h" On Error Resume Next CS.Receive 1, chr(27) + "[?25h" On Error Goto 0 Else If xpos<>8 or ypos<>30 Then Session.Send DateAdd$ + Chr(1) + "J" CS.Receive nTimeout, chr(27) + "[?25h" Session.Send " " CS.Receive nTimeout, chr(27) + "[?25h" On Error Resume Next CS.Receive 1, chr(27) + "[?25h" On Error Goto 0 End If If DateAddOld$=CurrDate$ Then Goto GoOn If (Right(DateAddOld$,4)="1999" And Val(Left(DateAddOld$,2)) >= 5) And BcNum >= 725 Then Goto Done If Val(Right(DateAddOld$,4))<1999 Then Goto Done End If GoOn: Select Case BCNum Case 1 To 9 DateAdd$="01/01/1965" Case 10 To 49, 140 To 149 DateAdd$="01/01/1970" Case 90 To 95, 100 To 109, 130 To 139, 176 To 189, 200 To 399 DateAdd$="01/01/1975" Case 122 To 126 DateAdd$="01/01/1978" Case 70 To 89, 196 To 197 DateAdd$="01/01/1980" Case 115 To 121, 198 To 199 DateAdd$="01/01/1982" Case 127 To 129 DateAdd$="01/01/1983" Case 50 To 69, 150 To 175, 190 To 195 DateAdd$="01/01/1985" Case 410 To 419 DateAdd$="01/01/1988" Case 96 To 99, 110 To 114, 400 To 409, 420 To 429 DateAdd$="01/01/1989" Case 430 To 474 DateAdd$="01/01/1990" Case 475 To 499 DateAdd$="01/01/1991" Case 500 To 529 DateAdd$="01/01/1992" Case 530 To 574 DateAdd$="01/01/1994" Case 575 To 599 DateAdd$="01/01/1995" Case 600 To 639 DateAdd$="01/01/1996" Case 640 To 669 DateAdd$="01/01/1997" Case 670 To 699 DateAdd$="01/01/1998" Case Else DateAdd$="01/01/1999" End Select Session.Send Chr(27)+"[A" Session.Send Chr(27)+"[A" Session.Send Chr(27)+"[A" CS.Receive nTimeout, chr(27) + "[?25h" Session.Send DateAdd$ + Chr(1) + "J" CS.Receive nTimeout, chr(27) + "[?25h" Session.Send " " CS.Receive nTimeout, chr(27) + "[?25h" CS.Receive 1, chr(27) + "[?25h" Done: end sub