Access VBA Shell命令无法正常工作

时间:2017-07-19 19:43:04

标签: vba ms-access

所以我试图获得一个非常简单的shell命令来执行创建的批处理文件,但由于某种原因,shell命令没有做任何事情。

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

        Dim SedjaShell
        f = "C:\Temp\_SedjaScript.bat"
        Open f For Output As #1
        Print #1, Chr(34) & SedjaDir & Chr(34) & " merge --files " & Page1 & " " & Page2 & " " & TOS & " " & Disclosure & " --output " & OutputDir
        Print #1, "Pause"
        Close #1

        SedjaShell = Shell("C:\Temp\_SedjaScript.bat", 1)

我可能会遗漏一些东西吗?

EDIT 添加_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

1 个答案:

答案 0 :(得分:1)

感谢Andre,我能够让脚本在VBA的Shell命令中运行。

通过将我的JRE的PATH设置为JAVA_HOME,我能够成功启动该脚本。

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