2017-07-18 96 views
0

我想通過vba打開批處理文件。這總是沒有問題,但最近路徑不正確。嘗試通過vba打開批處理文件時出現錯誤路徑

的道路常常是:

C:\ Users \ [用戶名] \文檔>

批處理文件本身似乎被發現,因爲代碼被正確地穿過:

例如C:\ Users [username] \ Documents> echo ...

我試着用絕對路徑和相對路徑。兩者都導致相同的問題。

pathDir = ThisWorkbook.Sheets("Info").Range("B1").Value 

... 

functionPath = pathDir & "\" & paramFunction & ".bat" 
Call ShellExecute(0, "open", functionPath, paramECU & " " & paramBackend & " " & paramVIN, "", SW_SHOW) 

可能是什麼問題? Excel中的

+0

Cell B1的價值是什麼? – braX

+0

你的意思是'C:\ Users \ [username] \ Documents'? (它看起來像你缺少一個反斜槓) – braX

+0

它的路徑到Excel文件和在同一目錄中的批處理文件:C:\ Unterlagen \ Tools \ – Jakob

回答

0

默認的shell路徑是

C:\用戶[用戶名] \文件

所以,在VBA您可以通過使用代碼

msgbox CurDir 

如果檢查你需要改變shell的路徑,命令是

ChDir "C:\Desire Path" 

在你的情況是

ChDir pathDir 

如果路徑是在其他驅動器(不是C :),你應該改變目錄之前更改驅動器。例如驅動器D :.

ChDrive "D" 
ChDir "D:\Desire Path" 

然後調用沒有前綴路徑的ShellExecute。

相關問題