Запуск пакетного файла Windows .bat из Excel VBA

4731
Vincent Tang

У меня есть файл с именем newcurl.batсидя в текущем каталоге, в котором находится мой файл Excel

Я хочу, чтобы excelVBA запустил этот файл

Я старался:

Shell "cmd.exe /k ""cd " & """ & ThisWorkbook.path & """ & " newcurl.bat"""

но это только CD к текущему пути к папке, но физически не запускает newcurl.batфайл

2

2 ответа на вопрос

1
Vincent Tang

В итоге я понял это.

У меня был личный макрос .xlsb, поэтому thisworkbook.pathон ссылался не на ту книгу.

В итоге я сделал это вместо:

Dim folderPath As String Dim shellCommand As String  folderPath = Application.ActiveWorkbook.Path shellCommand = """" & folderPath & "\" & "newcurl.bat" & """" Call Shell(shellCommand, vbNormalFocus) 
0
Leviathan

Вы перепутали двойные кавычки - ThisWorkbook.pathбуквально используется в команде.

Вы можете убедиться сами, напечатав команду на консоли:

Dim strCommand As String strCommand = "cmd.exe /k ""cd " & """ & ThisWorkbook.path & """ & " newcurl.bat""" Debug.Print strCommand Shell strCommand 
я закончил тем, что сделал что-то другое в комментарии выше, который работал для меня. Vincent Tang 7 лет назад 0

Похожие вопросы