Excel 尝试通过vba打开批处理文件时路径错误

Excel 尝试通过vba打开批处理文件时路径错误,excel,vba,path,Excel,Vba,Path,我想通过vba打开一个批处理文件。这一直没有问题,但最近路径不正确 路径始终是: C:\Users\[username]\Documents> 似乎找到了批处理文件本身,因为代码已正确传递: e、 g.C:\Users[用户名]\Documents>echo 我尝试了绝对路径和相对路径。两者都会导致相同的问题 pathDir = ThisWorkbook.Sheets("Info").Range("B1").Value ... functionPath = pathDir & "\"

我想通过vba打开一个批处理文件。这一直没有问题,但最近路径不正确

路径始终是:

C:\Users\[username]\Documents>

似乎找到了批处理文件本身,因为代码已正确传递:

e、 g.C:\Users[用户名]\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:\Users[用户名]\Documents

因此,在vba中,您可以使用代码进行检查

msgbox CurDir
如果需要更改shell的路径,则命令为

ChDir "C:\Desire Path"
如果你是

ChDir pathDir
如果路径位于其他驱动器(不是C:)中,则应在更改目录之前更改驱动器。例如,驱动器D:

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

然后调用ShellExecute,不带前缀路径。

单元格B1的值是多少?您的意思是
C:\Users\[username]\Documents
?(看起来您缺少一个反斜杠)这是excel文件和批处理文件的路径,它们位于同一目录中:C:\Unterlagen\Tools\yes有一个反斜杠(我现在在这里留下了一些空格,您可以在这里看到),如果它的末尾有一个反斜杠,并且您在代码中添加了另一个反斜杠(您现在是),则该路径无效。