win32com Excel.Application kann Dokumente nicht mehr öffnen

Das funktionierte letzte Woche, aber aus irgendeinem Grund hörte es heute auf, vielleicht wegen des neuen Jahres?

def remove_strikethroughs(xlsx): excel = win32com.client.Dispatch('Excel.Application') xl = pd.ExcelFile(xlsx) sheet_names = xl.sheet_names for sheet in sheet_names: if any(tab in sheet for tab in tabs_used): #print (sheet) wb = excel.Workbooks.Open(xlsx) ws = wb.WorkSheets(sheet) for cell in ws.Range('A5:B150'): if cell.Font.Strikethrough == True: cell.value = '[MDU]' + str(cell) wb.Save() wb.Close() excel.Visible = True excel.DisplayAlerts = True excel.Application.Quit() 

Ich bekomme folgende Fehlermeldung:

 "AttributeError: '<win32com.gen_py.Microsoft Excel 15.0 Object Library.Workbooks instance at 0x20920640>' object has no attribute 'open'" 

Kann mir bitte jemand helfen?

Vielen Dank!

   

Es gibt keine open Methode, es ist Open . Python unterscheidet zwischen Groß- und Kleinschreibung 🙂

Seltsamerweise stieß ich auf das gleiche Problem wie @AndyDo. Der Code, mit dem ich ursprünglich auf die Excel-Anwendung zugegriffen habe, funktioniert nicht mehr.

Original (nicht arbeiten):

** Hinweis – Es ist klar, dass ich die Groß- / Kleinschreibung nicht mit dem Beispiel übereinstimmt, das ich verwendet habe. Ich bin mir jedoch nicht sicher, warum der Code zuvor errorsfrei funktioniert hat.

Quelle: Wie öffne ich eine passwortgeschützte Excel-file mit Python?

 import win32com.client as w3c xlapp = w3c.Dispatch('Excel.Application') xlwb = xlapp.Workbooks.open(file.xlsx, False, True, None, file_password) xlsheet = xlwb.WorkSheets('my_sheet_name') 

Dann habe ich den Fall aktualisiert, wie im folgenden Code zu sehen ist, um den Attributerrors zu korrigieren.

Überarbeitet (funktioniert):

Quelle – Python Excel Mini-Kochbuch

 import win32com.client as w3c xlapp = w3c.gencache.EnsureDispatch('Excel.Application') xlwb = xlapp.Workbooks.Open(file.xlsx, False, True, None, file_password) xlsheet = xlwb.Worksheets('my_sheet_name') 

Ich frage mich, ob eine andere offene Arbeitsmappe, in der die Bearbeitungsleiste aktiviert wurde, das Problem beeinflusst hat. Ich werde mehr Nachforschungen anstellen müssen.