Python - Улучшение VBA - PullRequest
       11

Python - Улучшение VBA

0 голосов
/ 07 февраля 2020

У меня есть pandas фрейм данных df. Затем я сохраняю его как файл Excel Report.xlsm, а затем добавляю код VBA для фильтрации этих данных.

Код работает хорошо. Однако, когда я выполняю код VBA, Excel всегда показывает окно сообщения с просьбой сохранить Report.xlsm. Кто-нибудь знает, как избавиться от этого сообщения и автоматически сохранить его, а не просто нажать «Сохранить»?

Если я не нажму кнопку Сохранить, файл Excel будет сломан, и код будет тоже иметь sh.

Microsoft Excel, попросить сохранить уведомление о файле

Python Код:

desktop = os.path.normpath(os.path.expanduser("~/Desktop"))

# Generate excel file
writer = pd.ExcelWriter(desktop + '\Report.xlsx', engine = 'xlsxwriter')
df.to_excel(writer, index = False, sheet_name = 'Report')

workbook = writer.book
workbook.filename = desktop + '\Report.xlsm'

# Add VBA code to new excel report - Report.xlmx  from vbaProject.bin  
workbook.add_vba_project('vbaProject.bin')
writer.save()

# RUN MACRO
exel = win32com.client.Dispatch('Excel.Application')

exel.Workbooks.Open(Filename = desktop + '\Report.xlsm' , ReadOnly=1)
xl.Application.Run("Macro1")          

xl.Application.Quit()
del xl

1 Ответ

0 голосов
/ 21 февраля 2020

Добавьте это в конце вашего кода

exel.ActiveWorkbook.Close(True)

Верно = Сохранить, Неверно = Не сохранять

...