1
所以我想要獲得一個非常簡單的shell命令來執行創建的批處理文件,但由於某種原因,shell命令不會執行任何操作。訪問VBA 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)
另一個系統上有什麼我可能會丟失?
編輯 加入_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
你確定它不工作?它可以完成它的工作並關閉,因爲這是批處理腳本的默認行爲。 –
我知道它不工作,因爲輸出文件不存在。我也只是嘗試在另一個系統上完全相同的代碼,它工作得很好。另外,如果它正在工作,腳本窗口將保持不變,因爲我在腳本的末尾添加了一個暫停條件。但是,如果手動啓動.bat文件,腳本將啓動並輸出合併文件 – mattlore
您的批處理文件可能使用相對路徑。嘗試使用'ChDir'(和'ChDrive',如果需要)更改'Shell'命令的工作目錄。如果我不得不猜測,你會想要做'ChDir'C:\ Temp「'。 –