作者|我是奔跑的键盘侠
来源|奔跑的键盘侠(ID:runningkeyboardhero)
上一期主要讲了定时器的循环逻辑,还有配置表的使用,还是来段代码供大家参详一下吧,干唠不给代码貌似是在耍流氓
1
配置表的读写coding
path = "C:\Users\配置表01.txt"
Text = Plugin.File.ReadFileEx(path)
MyArray = Split(Text, "|")
Dim dict
Set dict = CreateObject("Scripting.Dictionary")
For Each line In MyArray
If line<>"" Then
MyArray = Split(line, ":")
dict.Add MyArray(0),MyArray(1) '添加键和项目
End If
Next
counts = dict.Item("循环次数")
interval = dict.Item("刷新订单时间间隔(ms)")
directory = dict.Item("日志存盘目录")
qq_num = dict.Item("异常推送qq号码")
TracePrint counts
TracePrint interval
TracePrint directory
TracePrint qq_num
调试结果如下:
注意问题:
配置表txt文件,要保存成ansi编码格式,utf-8读出来可能是乱码,如何选定格式呢?另存为的时候,文件名下面一栏可以修改编码格式。
另外,配置表《配置表01.txt》的内容再贴一下吧:
循环次数:10000
刷新订单时间间隔(ms):1000
是否自动关机:是
关机时间:18:00:00
日志存盘目录:D:\document
异常推送qq号码:123456
运行情况反馈邮箱:123456@qq.com
分隔符的冒号建议用中文标点,如果是路径和时间中间的冒号建议用英文标点。代码简洁起见,验证配置表路径、文本的内容是否规范就略了……
2
自动关机及定时器coding
//break_time = dict.Item("关机时间")
//auto_power_off = dict.Item("是否自动关机")
auto_power_off = "是"
break_time = "18:00:00"
Do
If CStr(time) > break_time Then
TracePrint "自动办公结束"
Exit Do
Else
Call 工作子程序()
End If
Delay 1000
Loop
If auto_power_off = "是" Then
RunApp ("cmd.exe /C shutdown -s -t 60")
End If
Sub 工作子程序()
TracePrint "工作中..."
Delay 200
End Sub
开头被注释掉的两行,是配套第一段的配置表读写方法的延续,为保持独立成章节,四五行重新定义了这2个变量。
于是,这就是我们办公自由脚本大的框架了,再进一步就是具体任务的分解处理了,下回再说。
-END-