win32com запускает предыдущую версию макроса Excel - PullRequest
0 голосов
/ 12 апреля 2019

У меня есть очень простая программа на Python 3.7, предназначенная для изменения данных (pandas + cx_Oracle) до определенной точки и сохранения их в excel.

Последние строки:

writer.save()
connection.close()

Следующим шагом является использование win32com для запуска макроса vba над 4 рабочими книгами, сгенерированными Python.

Моя проблема в том, что я изменил макрос (и он отлично работает в Excel), но Python по-прежнему работает с предыдущей версией, хотя он даже нигде не сохраняется. Макрос хранится в книге Personal.xlsb. Все работает, кроме последней модификации макроса.

xl = win32com.client.Dispatch('Excel.Application')

workbook1 = xl.Workbooks.Open(Filename='path' + 'filename' + datetoday + 'filename.xlsx', ReadOnly=1)
xl.Application.Run('PERSONAL.XLSB!macro')
workbook1.Close(True)

xl.Application.Quit()
del xl

Я ожидал, что Python выполнит правильный код VBA, но это не так;)

...