Я пытаюсь запустить скрипт python из макроса vba excel. Я использую openpyxl
У меня есть кнопка в моей пользовательской ленте, вызывающая sub-RunPythonScript ()
Set objShell = VBA.CreateObject("Wscript.Shell")
objShell.Run sPathPythonExe & sPathPythonScript & sPythonScriptFileName
Это работает, потому что я жестко закодировал полный путь к xls, который я хочу использовать (для тестирования)
TheFilePathXLS = r'C:\Users\aa\bb\cc\targetxls.xlsx'
thetargetxlswb = openpyxl.load_workbook(TheFilePathXLS)
Я хотел бы изменить это так, чтобы скрипт python принимал (открыт) активную рабочую таблицу. Как я могу это сделать? В макросе vba я могу настроить простую строку, чтобы получить полный путь к верхней активной книге
TheFilePathXLS = ActiveWorkbook.FullName
Нужно ли передавать это в качестве аргумента? если так, какой самый лучший / самый простой способ сделать это?
Заранее спасибо.