DonationCoder.com Software > Post New Requests Here
Insert future or past date as text
willwilliams:
Hi
My request follows on from the previous one.
I have adapted some programming (I think Kartal put it forward) so that I can put today's date in yymmdd format as the first part of name of a new file.
:*:yz::
FormatTime, CurrentDateTime,, yyMMdd
SendInput %CurrentDateTime%
return
It sits as part of my universal autocorrect file, so is there for me to us, by pressing "yz"
In Word, I have used a great macro that lets you enter future or past dates, by entering the number of days ahead, or past you want to have a date for - "7" or "-7", for example - in a dialog box that comes up when you call up the macro
********************************
Sub InsertFutureDate()
' Written by Graham Mayor and posted on the word.docmanagement newsgroup in
' March 2000
' Inserts a future date in a document - note that this is not a field
' Some style revisions and error handler by Charles Kenyon
'
Dim Message As String
Dim Mask As String
Dim Title As String
Dim Default As String
Dim Date1 As String
Dim MyValue As Variant
Dim MyText As String
Dim Var1 As String
Dim Var2 As String
Dim Var3 As String
Dim Var4 As String
Dim Var5 As String
Dim Var6 As String
Dim Var7 As String
Dim Var8 As String
'
'Date mask below includes non-breaking spaces (Chr(160))
Mask = "d" & Chr(160) & "MMMM" & Chr(160) & "yyyy" ' Set Date format
Default = "14" ' Set default.
Title = "Plus or minus date starting with " & Format(Date, Mask)
Date1 = Format(Date, Mask)
Var1 = "Enter number of days by which to vary above date. " _
& "The number entered will be added to "
Var2 = Format(Date + Default, Mask) ' Today plus default (14)
Var3 = Format(Date - Default, Mask) ' Today minus default (14)
Var4 = ". The default ("
Var5 = ") will produce the date "
Var6 = ". Minus (-"
Var7 = ". Entering '0' (zero) will insert "
Var8 = " (today). Click cancel to quit."
MyText = Var1 & Date1 & Var4 & Default & Var5 & Var2 & Var6 _
& Default & Var5 & Var3 & Var7 & Date1 & Var8
'
' Display InputBox and get number of days
GetInput:
MyValue = InputBox(MyText, Title, Default)
'
If MyValue = "" Then
End 'quit subroutine
End If
'
On Error GoTo Oops 'just in case
Selection.InsertBefore Format((Date + MyValue), Mask)
Selection.Collapse (wdCollapseEnd)
End 'End subroutine
'
Oops: ' error handler in case user types something other than a number
'
MsgBox Prompt:="Sorry, only a number will work, please try again.", _
Buttons:=vbExclamation, _
Title:="A number is needed here."
GoTo GetInput
End Sub
*******************************
It would be great if there could be something like it in AHK
Will
skrommel:
:) Try OneDay!
It shows the date x days from a given date.
Skrommel
--- ---;OneDay.ahk
; Shows the date x days from a given date
;Skrommel @ 2008
#NoEnv
#SingleInstance,Force
SendMode,Input
format=dddd dd. MMMM yyyy
applicationname=OneDay
activeid:=WinExist("A")
WinGetTitle,activetitle,ahk_id %activeid%
Gui,Add,Edit,xm w200 R1 -Wrap Vahead GCALC,0
Gui,Add,UpDown,Range-2147483648-2147483647
Gui,Add,Text,x+10 yp+3,days from
Gui,Add,DateTime,xm w200 Vfrom GCALC,%format%
Gui,Add,Text,x+10 yp+3,is
Gui,Add,Edit,xm w200 Vto
Gui,Add,Button,x+10 W60 GCOPY,&Copy
Gui,Add,Button,x+10 W60 GSEND Default,&Send to
Gui,Add,Statusbar,G1HOURSOFTWARE,www.1HourSoftware.com
Gui,Show,,%applicationname%
Gui,+LastFound
guiid:=WinExist()
hCurs:=DllCall("LoadCursor","UInt",NULL,"Int",32649,"UInt") ;IDC_HAND
OnMessage(0x200,"WM_MOUSEMOVE")
OnExit,EXIT
Return
CALC:
Gui,Submit,NoHide
EnvAdd,from,%ahead%,Days
FormatTime,to,%from%,%format%
GuiControl,,to,%to%
Return
COPY:
Clipboard=%to%
TOOLTIP(to)
Return
SEND:
Gui,Submit
IfWinExist,ahk_id %activeid%
{
WinActivate,ahk_id %activeid%
WinWaitActive,ahk_id %activeid%,,5
}
Send,%to%
Gosub,EXIT
TOOLTIP(tip)
{
SetTimer,TOOLTIPOFF,Off
ToolTip,%tip%
SetTimer,TOOLTIPOFF,3000
}
TOOLTIPOFF:
SetTimer,TOOLTIPOFF,Off
ToolTip,
Return
1HOURSOFTWARE:
Run,www.1HourSoftware.com
Return
WM_MOUSEMOVE(wParam,lParam)
{
Global hCurs
Global guiid
Global activetitle
MouseGetPos,,,mwin,mctrl
If mwin Not in %guiid%
Return
If mctrl In msctls_statusbar321
DllCall("SetCursor","UInt",hCurs)
If mctrl In Button2
TOOLTIP(activetitle)
Return
}
GuiEscape:
GuiClose:
EXIT:
OnMessage(0x200,"")
DllCall("DestroyCursor","Uint",hCurs)
ExitApp
Perry Mowbray:
Also, FARR has a new Clock Plugin, which was pretty easy to add the ability to use some past or future time. Clock is not my plugin though, but I presume we can change our own copies?
Anyway, it's a nice FARR Plugin which means it's quite versatile.
willwilliams:
Thanks!
Can OneDay be modfied so that the result of the input asking what the day and date will be in X days' time can be pasted into the app I was in before i called OneDay?
skrommel:
:) I've added a "Copy" and "Send to" button to the code above.
Skrommel
Navigation
[0] Message Index
[#] Next page
Go to full version