Запустите файл .exe из макроса VBA, кроме

#vba #executable

Вопрос:

Отчаявшаяся Габи здесь.

Я создал исполняемый файл —onefile для развертывания скрипта python на компьютере, где python не установлен. Исполняемый файл требует в качестве входных данных кучу файлов .xls, которые все помещены в тот же каталог, что и исполняемый файл.exe. Это работает без проблем. Сейчас я пытаюсь написать код VBA для запуска .exe, поэтому пользователям нужно только нажать на кнопку, чтобы запустить .exe и сгенерировать вывод. Тем не менее, Excel говорит, что файл не может быть выполнен.

Вот что я пытаюсь сделать:

 Sub RunExe()

Dim ExePath As String, varProc As Variant

On Error Resume Next
ExePath = ActiveWorkbook.Path amp; "" amp; "runpython.exe" ##### I need relative path!!

varProc = Shell(ExePath, 1)

End Sub
 

Я заранее благодарю вас всех за любую помощь, которую вы можете оказать.
Всего наилучшего.
Габи.

Комментарии:

1. Попробуйте ExePath = """" amp; ActiveWorkbook.Path amp; "runpython.exe""" , если путь содержит пробелы, которые необходимо заключить в кавычки. Или, может быть, используйте эту рабочую книгу вместо активной рабочей книги, если вам действительно нужен путь к файлу, в котором выполняется макрос.