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

时间:2017-07-18 12:48:41

标签: excel vba path

我想通过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)

可能是什么问题?

1 个答案:

答案 0 :(得分:0)

excel的默认shell路径是

  

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

因此,在vba中,您可以使用代码

进行检查
msgbox CurDir

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

ChDir "C:\Desire Path"

如果你是

ChDir pathDir

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

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

然后调用没有前缀路径的ShellExecute。