Используете активную книгу в python сценарии с openpyxl? - PullRequest
2 голосов
/ 11 апреля 2020

Я пытаюсь запустить скрипт 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

Нужно ли передавать это в качестве аргумента? если так, какой самый лучший / самый простой способ сделать это?

Заранее спасибо.

...