2

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

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

Я старался:

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

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

2 ответа2

1

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

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

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

Dim folderPath As String
Dim shellCommand As String

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

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

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

Dim strCommand As String
strCommand = "cmd.exe /k ""cd " & """ & ThisWorkbook.path & """ & " newcurl.bat"""
Debug.Print strCommand
Shell strCommand

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .