感謝PTT的LPH66大大協助優化腳本。
F1:: ;win+shift+w,將所選日期轉換添加星期,以當年計算 ex:11/23→11/23(五)
OldClip = %Clipboard% ;把目前的剪貼簿內容先存起來
sleep, 200
Send, ^c
sleep, 200
Loop, Parse, Clipboard, /,
{
if A_Index <= 1 ;第1個循環存入v_month
v_month = %A_LoopField%
if A_Index <= 2 ;第2個循環存入v_day
v_day = %A_LoopField%
}
if v_month < 10 ;小於10加0
v_month = 0%v_month%
if v_day < 10 ;小於10加0
v_day = 0%v_day%
if A_MM > 11 ;如果當前月份大於11(也就是12月)
{
if v_month < 6 ;如果要輸入的月份小於6(也就是1~5月)
{
v_year := A_YYYY+1
}
else ;如果要輸入的月份大於等於6(也就是6~12月)
{
v_year := A_YYYY
}
}
else ;當前月份小於等於11(也就是1~12月)
{
v_year := A_YYYY
}
FormatTime, TimeString,%v_year%%v_month%%v_day%, WDay
TimeString := TimeString-1
V_CWday := SubStr("日一二三四五六", TimeString+1, 1) ;從字串開始向右複製不超過長度1的子字符串至V_CWday
sleep, 200
Clipboard = %Clipboard%(%V_CWday%)
sleep, 200
Send, ^v
Clipboard = %OldClip% ;恢復先前剪貼簿內容
return
2018/12/26補充:已調整為月底會改為隔年。邏輯是如果當前月份大於11(也就是12月),且要輸入的月份小於6(也就是1~5月),則用隔年來計算。

沒有留言:
張貼留言