Use o Python para injetar macros em planilhas
Eu tenho uma macro que gostaria de usar um monte de planilhas existentes. O único problema é que há tantas planilhas que seria muito demorado fazer isso manualmente!
Eu escrevi um script Python para acessar os arquivos necessários usando pyWin32, mas não consigo descobrir uma maneira de usá-lo para adicionar a macro.
Uma pergunta semelhante aqui deu essa resposta (não é Python, mas parece que ainda usa COM), mas meu objeto COM não parece ter um membro chamado 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
EDIT: Link para a pergunta semelhante referenciada:Injetar e executar o código VBA do Excel em uma planilha recebida de uma fonte externa
Eu também esqueci de mencionar que, embora isso não seja Python, eu esperava que membros de objetos similares estivessem disponíveis para mim através dos objetos COM.