Раньше я использовал информацию в этом вопросе для запуска скрипта VBA, который выполняет некоторое базовое форматирование после запуска моего кода на Python.Как вызвать скрипт Excel VBA с помощью xlwings v0.10
How do I call an Excel macro from Python using xlwings?
В частности, я использовал первое обновление.
from xlwings import Workbook, Application
wb = Workbook(...)
Application(wb).xl_app.Run("your_macro")
Теперь я использую v0.10.0 из xlwings, и этот код больше не работает.
При попытке предложенный новый код для v0.10.0:
wb.app.macro('your_macro')
Python возвращает объект:
<xlwings.main.Macro at 0x92d3198>
и мой макрос не работает в Excel.
В документации (http://docs.xlwings.org/en/stable/api.html#xlwings.App.macro) есть пример, который является настраиваемой функцией, но у меня есть сценарий, который выполняет несколько операций в Excel (форматирует данные, которые я выводил из python, добавлял некоторые формулы на листе и т. Д.), Которые я хочу бежать.
Уверен, что у меня отсутствует что-то основное.
Update на основе предложения Феликса Zumstein, я попробовал:
import xlwings as xw
xlfile = 'model.xlsm'
wb = xw.Book(xlfile)
wb.macro('your_macro')
Это возвращает то же самое, как wb.app.macro ('your_macro'):
<xlwings.main.Macro at 0x92d05888>
и нет Сценарий VBA выполняется внутри Excel.
я получаю тот же результат, когда я использую ББ.макросъемки ('your_macro). – Budd
вот мой код: – Budd
Вы можете отправить мне образец книги (письмо на GitHub), и я буду изучать его. –