VBA代码大全016:如何用vba执行DOS命令?

对于一些电脑高手,他们还非常热衷于使用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命令的执行程度,是否已经执行完成。

       

发表评论