ich möchte eine Excel-Vorlage per Python befüllen. Da ich auch Spalten löschen und vorhandene Checkboxen setzen muss und openpyxl (soweit ich das richtig sehe) diese Funktionen nicht zur Verfügung stellt, müsste ich es über die COM Schnittstelle umsetzen.
Ich bekomme die Exceldatei über die Schnittstelle geöffnet, die Spalten werden gelöscht bzw. die Checkboxen kann ich ansteuern. Blöderweise bleibt Excel immer hängen, sodass ich es im Taskmanager schließen muss. Wie schließe ich die Datei richtig? Es kann doch nicht so schwer sein aber ich finde leider nichts, was mir hilft...
Und: Kann es sein, dass man die Datei bei der Ansteuerung über die COM Schnittstelle nicht speichern muss? Zumindest sind die Inhalte übernommen (nachdem ich im Taskmanager die Datei geschlossen habe und dann neu geöffnet habe), also es wurden die Spalten gelöscht.
Folgender Fehler kommt bei Excel.Save() (auch mit Eingabe eines Pfades):
Exception has occurred: com_error
(-2147352567, 'Ausnahmefehler aufgetreten.', (0, 'Microsoft Excel', 'Die Save-Methode des Application-Objektes konnte nicht ausgeführt werden.', 'xlmain11.chm', 0, -2146827284), None)
Code: Alles auswählen
import win32com.client
excel = win32com.client.gencache.EnsureDispatch("Excel.Application")
excel.Workbooks.Open(Filename=r'C:\Users\..\Desktop\TestOutput\test.xlsx')
excel.Visible = 0
excel.Worksheets("Tabelle1").Range("A:B").Select()
excel.Selection.Delete()
#excel.Save()
excel.Application.Quit()
del excel