微信公众号 【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