定時提醒和倒計時VBS指令碼
作者:iamlaosong
VBS是一種Windows指令碼,它的全稱是:Microsoft Visual Basic Script Editon.(微軟公司視覺化BASIC指令碼版),VBS是Visual Basic的的一個抽象子集,是系統內建的,除了web前端使用外,用它編寫的指令碼程式碼可直接由Windows系統執行,也不需要什麼程式設計環境,用記事本就可以完成。所以就有人用這個編寫指令碼,使各種各樣的任務自動化,使你從重複瑣碎的工作中解脫出來,極大的提高工作效率。網上就有很多有用、有趣的VBS指令碼程式碼,比如把下面這段程式碼複製到記事本中儲存,副檔名用vbs,雙擊檔案執行,就可以檢測你的系統是32位(x86)還是64位(x64):
'sysType.vbs Function X86orX64() 'Author: Demon 'Date: 2011/11/12 'Website: http://demon.tw On Error Resume Next strComputer = "." Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") Set colItems = objWMIService.ExecQuery("Select * from Win32_ComputerSystem",,48) For Each objItem in colItems If InStr(objItem.SystemType, "86") <> 0 Then X86orX64 = "The system type is x86." ElseIf InStr(objItem.SystemType, "64") <> 0 Then X86orX64 = "The system type is x64." Else X86orX64 = "The system type is " & objItem.SystemType End If Next End Function WScript.Echo X86orX64()
因為這個指令碼用起來方便,還可以放到Excel的程式設計環境中除錯,所以我有時會用這個指令碼編寫一些有用的指令碼,比如下面兩個提醒指令碼。
1、定時提醒
這個功能主要是提醒我開會用的,因為經常會忘了開會這回事。網上當然有很多類似的功能強大的鬧鐘工具,可是我的需求很簡單,只要到時候彈出一個視窗提示一下就行了。下面是程式碼,使用的時候用記事本修改引數儲存,雙擊執行就行了,當然也可以用於其他事情的提醒:
'定時提醒:設定下面四個引數(一般只要改第1、2兩個) '1、事件名稱 xm = "秋招預備會(201會議室)" '2、開始時間 tx = "16:00:00" '3、提前分鐘數 tq = 10 '4、視窗標題 bt = "定時提醒" '===============下面部分一般不用改================== txsj = TimeValue(tx) - tq / (24 * 60) jgsj = Round((TimeValue(tx) - Time) * 24 * 60, 2) If jgsj < 0 Then MsgBox " " & xm & "開始已經" & jgsj * (-1) & "分鐘,請儘快參加!", vbOKOnly, bt Else If Time > txsj Then MsgBox " 距離" & xm & "只有" & jgsj & "分鐘,請儘快做好準備工作!", vbOKOnly, bt Else MsgBox " 距離" & xm & "開始" & tq & "分鐘時,將彈出視窗提示!", vbOKOnly, bt Do While Time < txsj WScript.Sleep (60000) Loop MsgBox " 距離" & xm & "還有" & tq & "分鐘,請做好準備工作!", vbOKOnly, bt End If End If
這些引數也可以用InputBox輸入,如:
xm = InputBox("請輸入事件名稱:", "輸入事件名稱", Time + 1 / 24)
tx = InputBox("請輸入時間:", "輸入開始時間", Time + 1 / 24)
但我更喜歡開啟指令碼直接修改。
2、倒計時
定時提醒僅用於當天某個時間,如果時間還早,需要每天提醒一下怎麼辦?就可以用這個倒計時指令碼。將這個指令碼的快捷方式放到開始選單的啟動目錄,每次開機時就會執行一次,提示你距離某個事件還有多少天。如果需要多個倒計時,只需要將內容複製幾份,修改成相應的提示就行了,如下面程式碼:
'倒計時:設定下面三個引數
bt = "倒計時提醒" '視窗標題
'==事件1====================================
xm = "老婆生日" '事件名稱
tx = CDate("2019-02-20") '事件日期
'-----------------------------------------
mm = (year(tx) - Year(Date)) * 12 + month(tx) - Month(Date)
dd = tx - Date
MsgBox " 距離" & xm & "大約還有" & mm & "個月,共" & dd & "天!", vbOKOnly, bt
'==事件2===================================
xm = "系統釋出" '事件名稱
tx = CDate("2018-12-20") '事件日期
'-----------------------------------------
mm = (year(tx) - Year(Date)) * 12 + month(tx) - Month(Date)
dd = tx - Date
MsgBox " 距離" & xm & "大約還有" & mm & "個月,共" & dd & "天!", vbOKOnly, bt