2017-02-23 73 views
0

有沒有辦法讓Excel忽略某些命令行參數?我通過類似的命令啓動:忽略Excel中的命令行參數

Excel "C:\Temp\TestingCLAs.xlsx" /e service=http://localhost:61023/api/PortlandDev/2/ReportSource?Order='100146309'^&Line='0010' 

服務字符串被一些VBA在Excel文件中讀取並用於更新查詢。然而,當我啓動Excel中的命令行參數解釋看到的兩件事情:

  1. 打開 「C:\ TEMP \ TestingCLASs.xlsx」
  2. 開服= HTTP:// ...

我想解釋忽略第二個參數,但是我得到以下錯誤時,開口道:

「對不起,我們找不到 服務= http://localhost:61023/api/PortlandDev/2/ReportSource?Order=‘100146309’& Line ='0010'.xlsx。 它可能被移動,重命名或刪除?

我知道這不是由於excel文件中的VBA,因爲它甚至在使用空白excel文件進​​行測試時也會發生。

我找到了這篇參考文章:https://blogs.msdn.microsoft.com/twistylittlepassagesallalike/2011/04/23/everyone-quotes-command-line-arguments-the-wrong-way/,並試圖用'^'字符轉義URL,但得到了相同的結果。

同樣看着上面的錯誤,當初始調用中沒有指定.xlsx時,它會被添加到上面第二個URL的末尾。

有沒有辦法讓命令解釋器不嘗試執行URL?

任何想法都非常感謝。謝謝

回答

0

不知道它爲什麼會起作用,但通過「/ p」開關使得命令解釋程序不會嘗試自動打開URL。例如,如果沒有命令解釋器嘗試從URL創建新的工作簿,以下內容可能會被我的內部VBA使用。

Excel "C:\Temp\Template.xlsm" /e /p http://localhost:61023/api/PortlandDev/2/ReportSource?Order='100142574'&Line='0010'