访问VBA Shell命令不起作用

访问VBA Shell命令不起作用,vba,ms-access,Vba,Ms Access,因此,我尝试使用一个非常简单的shell命令来执行创建的批处理文件,但由于某些原因,shell命令什么都不做 批处理文件将被创建,当我双击批处理文件时,它会很好地执行脚本,但如果我尝试在VBA中调用shell命令,它似乎会尝试打开命令窗口,但之后会立即关闭,不会产生任何错误。在我重新格式化此笔记本电脑之前,此代码可以正常工作,并且此代码可以在另一个运行Server 2012 R2的系统上工作(我运行的是windows 10) 有什么我可能遗漏的吗 编辑 添加_SedjaScript.Bat的内容

因此,我尝试使用一个非常简单的shell命令来执行创建的批处理文件,但由于某些原因,shell命令什么都不做

批处理文件将被创建,当我双击批处理文件时,它会很好地执行脚本,但如果我尝试在VBA中调用shell命令,它似乎会尝试打开命令窗口,但之后会立即关闭,不会产生任何错误。在我重新格式化此笔记本电脑之前,此代码可以正常工作,并且此代码可以在另一个运行Server 2012 R2的系统上工作(我运行的是windows 10)

有什么我可能遗漏的吗

编辑 添加_SedjaScript.Bat的内容

"C:\Users\User\Desktop\DealTracker\MergeFiles\sejda-console-3.0.4\bin\sejda-console.bat" merge --files C:\Temp\ContractSummary.pdf C:\Temp\Page2.pdf C:\Temp\TOS.pdf C:\Temp\Disclosure.pdf --output "C:\Users\User\Desktop\DealTracker\Completed Contracts\Company-Name-Inc-07-19-2017-Contract.pdf"
Pause

多亏了Andre,我才能够让脚本在VBA的Shell命令中工作

通过将JRE的路径设置为
JAVA\u HOME
,我成功地启动了脚本

setx JAVA_HOME "C:\Program Files (x86)\Java\jre1.8.0_141"
setx PATH "%PATH%;%JAVA_HOME%\bin";

你确定它坏了吗?它本可以完成它的工作并关闭它自己,因为这是批处理脚本的默认行为。我知道它不工作,因为输出文件不存在。我也在另一个系统上尝试了同样的代码,效果很好。此外,如果它正在工作,脚本窗口将保持打开状态,因为我在脚本末尾添加了暂停条件。但是,如果手动启动.bat文件,脚本将启动并输出合并文件。批处理文件可能使用相对路径。尝试使用
ChDir
(如果需要,
ChDrive
)更改
Shell
命令的工作目录。如果我不得不猜测,您可能希望执行
ChDir“C:\Temp”
。不,这不起作用。请尝试显示(Debug.Print或MsgBox)您正在写入批处理文件的内容。
setx JAVA_HOME "C:\Program Files (x86)\Java\jre1.8.0_141"
setx PATH "%PATH%;%JAVA_HOME%\bin";