2017-07-18 94 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。

相关问题