Python Excel将macros运行到xlsx文件

我如何从我的xslm文件采取macros,并将其应用到我的xlsx文件?

import cx_Oracle import xlsxwriter import win32com.client SQL = "Select * FROM TABLE" cursor1 = con.cursor() cursor1.execute(SQL) workbook = xlsxwriter.Workbook('OUTPUT.xlsx') worksheet = workbook.add_worksheet('Summary - Attendee') worksheet.set_tab_color('red') for i, row in enumerate(cursor1): for j, col in enumerate(row): worksheet.write(i+1,j,col) excel = win32com.client.Dispatch('Excel.Application') excel.Visible = 1 excel.Workbooks.Open(Filename="Path\Macro.xlsm") excel.Application.Run("Format") excel.Workbooks(1).Close(SaveChanges=1) excel.Application.Quit() excel = 0 workbook.close() Macro.xlsm VBA code: Sub Format() Sheet1.Select Cells.Select Cells.EntireColumn.Autofit End Sub 

这两个工作,但作为单独的进程和文件。 我想从xlsm调用macros,并将其应用到我的xlsx文件中,以格式化我的xlsx文件。 有任何想法吗?

我想我已经find了一个替代scheme。
首先,我使用VBA代码创build了一个xlsm文件,将每个工作簿中的每张表格格式化为一个文件夹。 然后在我的python脚本中,我将首先创build所有我想创build的excel文件,而不使用任何格式,然后触发python调用这个xlsm文件中的macros来运行所有的工作簿和每个工作表来格式化它们以我想要的方式,并使用Excel的格式,而不是python的excel格式。