微信公众号 【EXCEL880】 QQ群【165159540】
Excel课程咨询 请加郑广学老师微信EXCEL880B
大家知道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