打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
如何用Excel控制电脑关机和重启?

HI,大家好,我是星光。

今天给大家简单聊一下如何使用Excel VBA 操作DOS,聊几个比较典型的案例,比如关机、关指定程序、获取多层文件夹下文件名等。

先来说关机吧,毕竟做人得对得起标题不是?




Sub QsbC() '关机 Shell 'cmd /c shutdown -s'End Sub

第2行代码使用Shell函数执行DOS命令。

shutdown -s 是关机。

shutdown -r 是重启。

shutdown -h 是休眠。

shutdown -s -t 是倒计时关机。

……

然后再来说下如何关闭指定程序,比如强制关闭Excel。

正常来说,用以下语句也可以关闭Excel,但有时关的并不彻底,Excel程序依然存在于进程中。




Sub quit()    Application.quitEnd Sub

此时不妨试试以下语句

代码看不全可以左右拖动...▼




Sub CloseExcel() '强制关闭excel进程 Shell 'cmd /c Taskkill /im winexcel.exe /f /t'End Sub

又或者关闭Word




Sub CloseWD() '强制关闭word进程    Shell 'cmd /c Taskkill /im winword.exe /f /t'End Sub

……

最后再给大家分享一下使用DOS语句获取多层文件夹下文件名。之前也给大家分享过【FSO+递归】的方法,不过代码比较繁琐,效率也不是很高。相比之下,DOS方法就简洁太多了。

代码看不全可以左右拖动...▼









Sub getLst() Dim temp, r, p$ p = 'E:\公众号运营' '指定路径 temp = CreateObject('Wscript.Shell').exec('cmd /c dir /a-d /b /s ' & Chr(34) & p & Chr(34)).StdOut.ReadAll r = Split(temp, vbCrLf) '拆分文件名 [a:a] = '' [a2].Resize(UBound(r) + 1) = Application.Transpose(r)End Sub

第4行代码使用CreateObject('Wscript.Shell')类库的Exec方法执行DOS语句。这个类库相比Shell函数的一大优势是:它不但可以执行DOS命令,还可以返回DOS命令的执行进度和结果。

第5行代码将变量temp按换行符拆分成一维数组,这里可以搭配Filter函数作进一步筛选,比如,只获取名称中包含'看见星光'的文件,可以将代码修改为:


r = Filter(Split(temp, vbCrLf), '看见星光')

第6和第7行代码将结果存入当前工作表的A列。 

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
VBA代码:如何用vba执行DOS命令?
智能办公:DOS+Excel VBA实例
python中调用dos命令
VB中CMD的用法
一些很恶作剧的vbs程序代码
dos命令在vba中应用
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服