作者:绿色风
分类:
时间:2022-08-17
浏览:108
楼主 kevinchengcw |
Q: 如何利用vba代码创建计划任务定时打开指定excel文件? A: 代码如下:- Sub test()
- Shell Environ("comspec") & " /c at " & Format(Now + TimeValue("00:05:00"), "hh:mm") & "/interactive """ & Application.Path & "\excel.exe"" """ & ThisWorkbook.Path & "\test.xls""", vbHide '利用shell命令通过命令行隐藏执行at命令设置一次性计划任务,在五分钟后打开当前文档目录下的test.xls工作簿
- End Sub
environ("comspec")获取命令行命令程序路径,通过后面的/c参数模拟命令行输入后方命令 本例执行内容为 at 某时:某分 /与当前用户交互执行 excel主程序全路径 要打开的工作簿全路径 可以在立即窗口通过?命令来查询得到的结果字符串,如在立即窗口输入: ?Environ("comspec") & " /c at " & Format(Now + TimeValue("00:05:00"), "hh:mm") & "/interactive """ & Application.Path & "\excel.exe"" """ & ThisWorkbook.Path & "\test.xls""" 你会得到整个命令字符串的实际内容
附:at命令的命令行帮助
注意上面的红色字体部分,利用shell命令运行的命令属system权限,故不加上/interactive参数会默认以系统方式运行,此时程序为隐藏界面在后台由系统执行,加上该参数后才可以显示出来与用户进行交互操作。这也是多数人利用at命令在非命令行时生成计划任务感觉失败的原因,其实有执行,但是用户看不到界面。
详见附件及素材源帖。 利用计划任务定时打开工作簿.rar
该帖已经同步到 kevinchengcw的微博 |
2楼 亡者天下 |
学习一下
谢谢分享 |
3楼 水星钓鱼 |
这个牛的 |
免责声明
有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素,
经与ExcelTip.Net站长Apolloh商议并征得其同意,
现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示,
供有需要的人士查询使用,也慰缅曾经的论坛时代。
所示各个帖子的原作者如对版权有异议,
可与本人沟通提出,或于本站点留言,我们会尽快处理。
在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一