对于一些电脑高手,他们还非常热衷于使用DOS命令,而且DOS命令的功能也非常强大。
有时候借助DOS命令可以快速地实现一些用vba需要很困难或者用vba基本没办法实现的功能。
微软也一直没有废止DOS命令,在vba中也可以调用dos命令。
这里介绍两种在vba中调用dos命令的方法:
方法一、使用Shell函数执行DOS命令,代码如下:
Sub QQ1722187970() Dim sCmd As String sCmd = "cmd /c Taskkill /im winword.exe /f /t" Shell sCmd End Sub
其中cmd /c 表示启动一个新的命令解释器的一个新实例,并且执行后续的字符串指定的命令然后终止。
比如上面的DOS命令的含义是强制关闭打开的所有word应用程序。
方法二、用WScript.Shell对象的Exec方法执行DOS命令,代码如下:
Sub QQ1722187970() Dim sCmd As String sCmd = "cmd /c Taskkill /im winword.exe /f /t" Dim WshShell, oExec Set WshShell = CreateObject("WScript.Shell") Set oExec = WshShell.Exec(sCmd) End Sub
其中用WshShell对象比用Shell函数更加灵活,它不仅可以执行dos命令,还可以返回dos命令的结果,还可以判断dos命令的执行程度,是否已经执行完成。
发表评论