使用VBS制作小程序,提醒记录每日工作

每个月都需要在SAP系统中填写timesheet,一般我都会拖到月末填写,但会忘记早前的很多天做了那些工作。于是我想编一个程序,每天下班前会定时提醒我记录当天的工作。

我不是学编程的,水平有限,所以使用VBS做了一个。

首先,确定软件功能:

1. 开机自动运行,不需要手动管理,这样才能起到“提醒”的作用。

2. 定时弹窗提醒站起来活动活动  -- 工作再忙也要注意身体:)

3. 每天下班前定时弹输入框,记录工作 -- 如果不写点啥,输入框不能被关闭。

来吧,说干就干,首先是VBS,取名为WorkLog.vbs

set WshShell = WScript.CreateObject("WScript.Shell")

For i=0 To 240 '计时循环,保证vbs后台运行。i为小时数,j为分钟,s为秒。超过240小时退出vbs
  For j=0 To 59
    For s=0 To 59
       WScript.Sleep(1000)
       hours=Hour(time)
       minutes=Minute(time)
       seconds=Second(time)
       realtime= hours & minutes & seconds
       If realtime=164545 Then Call worklog() '调用子函数每天16:45:45提醒记录工作
       'If realtime=164545 Then msgbox(realtime) '测试用
       'WshShell.Popup realtime, 1, "AutoClose MsgBox Simulation", vbInformation+vbOKOnly 
       If s=59 Then j=j+1
    Next
    'if j=45 then call standup()'调用子函数每45分钟提醒休息
    If j=59 Then i=i+1
  Next
Next

Sub worklog()
       Currentdate1=date() '读取当天日期
       Dim WorkContent
       WorkContent=inputbox("输入今天的工作内容",Currentdate1,"今天的工作内容") '输入当天工作内容
       do while WorkContent=Empty or WorkContent="今天的工作内容"
       WorkContent=inputbox("输入今天的工作内容",Currentdate1,"今天的工作内容") '输入当天工作内容
       loop
       dim fso,f
       set fso = CreateObject("Scripting.FileSystemObject")
       if fso.FileExists("C:\MyWorkLog\MyWorkLog.txt") then
          set f = fso.OpenTextFile("C:\MyWorkLog\MyWorkLog.txt", 8, false) '第二个参数 2 表示重写, 8 表示追加
          f.Write(Currentdate1)
          f.Write(":")
          f.WriteLine(WorkContent)
          f.Close()
          set f = nothing
       else
          set f = fso.CreateTextFile("C:\MyWorkLog\MyWorkLog.txt", true) '第二个参数表示目标文件存在时是否覆盖
          f.WriteLine("以下是工作内容记录:") '写标题
          f.WriteBlankLines(1) '写入一个空白行(相当于在文本编辑器中按一次回车)
          f.Write(Currentdate1)
          f.Write(":")
          f.WriteLine(WorkContent)
          f.Close()
          set f = nothing
       end if
       set fso = Nothing
End sub  

Sub standup()
  alerttitle = "定时提醒" '对话框标题
  alerttext =  vbnewline & vbnewline & "休息一下,活动一下胳膊,脖子,腰部。" & vbnewline & vbnewline & vbnewline & "生命在于运动"& vbnewline & vbnewline & vbNewLine '提醒内容,vbnewline为换行符
  msgbox alerttext,4096,alerttitle
end sub

而要实现开机自动运行,只需要将程序放入路径:C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp中即可。同时考虑到vbs中使用了绝对路径C:\MyWorkLog,于是写了个批处理文件,创建路径,拷贝vbs到StartUp目录。

Install.bat

cd /d %~dp0
%1 start "" mshta vbscript:createobject("shell.application").shellexecute("""%~0""","::",,"runas",1)(window.close)&exit
@echo off
md c:\MyWorkLog

taskkill /f /t /im wscript.exe
TIMEOUT /T 5 /NOBREAK

xcopy WorkLog.VBS "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp" /y

TIMEOUT /T 5 /NOBREAK

start   ""  "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp\WorkLog.vbs"


两个文件放在一起,双击Install.bat即可。

如果你也需要这个功能,代码取走不谢。处女贴,欢迎打赏。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值