尝试通过vba打开批处理文件时出现错误路径
问题描述:
我想通过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中的
答
默认的shell路径是
C:\用户[用户名] \文件
所以,在VBA您可以通过使用代码
msgbox CurDir
如果检查你需要改变shell的路径,命令是
ChDir "C:\Desire Path"
在你的情况是
ChDir pathDir
如果路径是在其他驱动器(不是C :),你应该改变目录之前更改驱动器。例如驱动器D :.
ChDrive "D"
ChDir "D:\Desire Path"
然后调用没有前缀路径的ShellExecute。
Cell B1的价值是什么? – braX
你的意思是'C:\ Users \ [username] \ Documents'? (它看起来像你缺少一个反斜杠) – braX
它的路径到Excel文件和在同一目录中的批处理文件:C:\ Unterlagen \ Tools \ – Jakob