微信公众号 【EXCEL880】 QQ群【341401932】
课程咨询 加我微信EXCEL880B 试学网址http://v.excel880.com
课程咨询 加我微信EXCEL880B 试学网址http://v.excel880.com
大家知道dos的xcopy命令功能强大,令vba的FileCopy语句相形见绌。我想使用shell函数调用xcopy命令,但是该函数只能返回xcopy的任务ID,不能返回xcopy命令的退出码。xcopy命令的退出码如下:
退出码 说明
0 文件复制没有错误。
1 没有找到要复制的文件。
2 用户按 CTRL+C 终止了 xcopy。
4 出现了初始化错误。没有足够的内存或磁盘空间,或命令行上输入了无效的驱动器名称或语法。
5 出现了磁盘写入错误。
这个退出码对于程序的健壮性特别重要,但我不知道如何得到它,请高手赐教。谢谢。
解决方法
sub Sample1()
Dim WSH, wExec, sCmd As String, Result As String
Set WSH = CreateObject("WScript.Shell") ''(1)
''(2)
Set wExec = WSH.Exec("xcopy /?") ''(3)
Result = wExec.StdOut.ReadAll ''(5)
MsgBox Result
Set wExec = Nothing
Set WSH = Nothing
End Sub




