所以我试图获得一个非常简单的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
答案 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";