这是我使用的代码(来自 ms-access):
Dim commandLine As String
commandLine = "msra.exe /offerRA " & par_terminalId
Call Shell(commandLine, vbNormalFocus)
如果我将“命令行”的内容(例如“msra.exe /offerRA TFQ8”)c&p到cmd中,它就可以工作。如果我在 vba 中使用上面的代码尝试,结果是:
Err.Number: 5
err.descrition: "Invalid procedure call or argument"
那么什么改变了呢?在我们的 Win 11/Office 365 更新之前,相同的代码运行良好。
与:
Dim wsh As Object
Set wsh = CreateObject("WScript.Shell")
Call wsh.Run(commandLine)
效果很好。问题似乎出在 shell 命令上。