Use Python para inyectar macros en hojas de cálculo
Tengo una macro que me gustaría usar un montón de hojas de cálculo existentes. ¡El único problema es que hay tantas hojas de cálculo que sería demasiado lento hacerlo a mano!
He escrito una secuencia de comandos de Python para acceder a los archivos necesarios con pyWin32, pero parece que no encuentro la forma de usarlo para agregar la macro.
Una pregunta similar aquí dio esta respuesta (no es Python, pero parece que todavía usa COM), pero mi objeto COM no parece tener un miembro llamado VBProject:
Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = True
objExcel.DisplayAlerts = False
Set objWorkbook = objExcel.Workbooks.Open("C:\scripts\test.xls")
Set xlmodule = objworkbook.VBProject.VBComponents.Add(1)
strCode = _
"sub test()" & vbCr & _
" msgbox ""Inside the macro"" " & vbCr & _
"end sub"
xlmodule.CodeModule.AddFromString strCode
objWorkbook.SaveAs "c:\scripts\test.xls"
objExcel.Quit
EDITAR: Enlace a la pregunta similar referenciada:Inyecte y ejecute el código de Excel VBA en la hoja de cálculo recibida de una fuente externa
También olvidé mencionar que, aunque esto no es Python, esperaba que los miembros de objetos similares estuvieran disponibles para mí a través de los objetos COM.