Ich versuche, zwei Excel-Dateien über win32com zu öffnen und zu versuchen, ein Blatt aus einer Arbeitsmappe in eine andere zu verschieben, wie folgt aus:öffnen zwei Excel-Dateien
ScriptDirectory = os.path.dirname(__file__) # this script dir # path
xl = Dispatch('Excel.Application')
wb_Header = xl.Workbooks.Open(ScriptDirectory+'\Report_Header.xlsx')
ws_Header = wb_Header.Sheets("Header")
wb_Report = xl.Workbooks.Open(ScriptDirectory+'\Report1.xlsx')
ws_Header.Move(before=wb_Report.Sheets("Test Cases"))
wb_Header.Close()
wb_Report.Close()
xl.Quit()
Aber es endet mit einem Fehler:
Traceback (most recent call last):
File "C:\Workspace\ADTF_BV\Create_reports_v2.py", line 406, in <module>
wb_Report = xl.Workbooks.Open(ScriptDirectory+'\Report1.xlsx')
File "C:\Python27\lib\site-packages\win32com\gen_py\00020813-0000-0000-C000-000000000046x0x1x7\Workbooks.py", line 78, in Open
, Converter, AddToMru, Local, CorruptLoad)
pywintypes.com_error: (-2147417851, 'the server threw an exception', None, None)`
ich dachte, vielleicht kann ich nicht zwei Botschaft öffnen, aber wenn ich zweite Botschaft wie folgt zu erstellen:
ScriptDirectory = os.path.dirname(__file__) # this script dir # path
xl = Dispatch('Excel.Application')
wb_Header = xl.Workbooks.Open(ScriptDirectory+'\Report_Header.xlsx')
ws_Header = wb_Header.Sheets("Header")
xl2 = Dispatch('Excel.Application')
wb_Report = xl2.Workbooks.Open(ScriptDirectory+'\Report1.xlsx')
ws_Header.Move(before=wb_Report.Sheets("Test Cases"))
wb_Header.Close()
wb_Report.Close()
xl.Quit()
es hilft nicht. Ich arbeite ok, wenn ich nur eine Datei öffne. Es sieht so aus, als könnte es nicht damit umgehen, den zweiten zu öffnen.
Wer weiß, warum kann es in Ordnung, und der Code aus meiner Frage arbeitet, ist falsch? – GohanP