使用Windows 10
Dim logPathSource As String
Dim logFileSource As String
Dim logPathDest As String
Dim logFileDest As String
logPathSource = "D:\Users\ian_abbott\AppData\Local\Temp\Data Capture Log\"
logFileSource = "moving180827_160818.csv"
logPathDest = "\\ussantapps332\DataCapture\tmp\"
logFileDest = "2018-08-27_16,08,28UKASIABBOTTL10-Ian_Abbott_TESTlogdata.csv"
Shell "cmd /c move """ & logPathSource & logFileSource & """ """ & logPathDest & logFileDest & """", vbHide
将Shell命令的路径名放入立即窗口中,我得到:
cmd /c move "D:\Users\ian_abbott\AppData\Local\Temp\Data Capture Log\moving180827_160818.csv" "\\ussantapps332\DataCapture\tmp\2018-08-27_16,08,28UKASIABBOTTL10-Ian_Abbott_TESTlogdata.csv"
如果我将其复制/粘贴到命令提示符中,则该文件将被成功移动并重命名,如果从VBA运行该文件,则会得到
Run-time error '5':
Invalid procedure call or argument
我在VBA中缺少什么?
答案 0 :(得分:0)
看起来Shell应该返回一个整数。您尝试过这个吗?
dim returnValue as Integer
returnValue = Shell("cmd /c move """ & logPathSource & logFileSource & """ """ & logPathDest & logFileDest & """", vbHide)