Seite 1 von 1

Excels "SaveAs" über COM automatisch handeln

Verfasst: Dienstag 3. Januar 2006, 11:22
von snakeseven
Hallo,
zwei Fragen zum Thema Excel + Python. Folgendes angepaßtes Script von
2bock http://www.python-forum.de/viewtopic.ph ... ight=excel ruft Excel auf, erzeugt eine Tabelle, schreibt was rein und speichert anschließend das Ganze ab. Die Tabelle soll ständig automatisch aktualisiert werden und da stört es, wenn Excel jedesmal beim ".SaveAs" fragt, ob es die alte Tabelle überschreiben soll. Nun kenne ich mich mit Excel und auch mit COM nicht so gut aus, das ich jetzt auf Anhieb wüßte, wie ich diese Frage aus Python heraus mit "ja" beantworten könnte ?
Auch stört es mich, daß die Tabelle von A-U geht. Mir würde A-E völlig reichen. Seven

Das Script:

Code: Alles auswählen

import win32com.client 
Report = win32com.client.Dispatch("Excel.Application")
Report.Visible = 1

workbook = Report.Workbooks.Add()
worksheet = workbook.Worksheets('Tabelle1')
worksheet.Name = 'Ausgang'

header = ["ID","Text","Name(n)","Musik ?","E-Mail"]
width = ['20','15','20','10','20']

for i in range(1,6):
    cell = worksheet.Cells(1,i)
    cell.ColumnWidth = width[i-1]
    cell.Font.Bold = 1
    cell.Font.Size = 12
    cell.Value = header[i-1]

workbook.SaveAs("G:/Automerge/Report.xls")
 
del(cell) 
del(worksheet) 
del(workbook) 
del(Report)

Verfasst: Mittwoch 4. Januar 2006, 00:53
von snakeseven
Hat sich erledigt. Geht mit 'SendKeys()': http://www.rutherfurd.net/python/sendkeys/#key-codes oder statt
workbook.SaveAs(), workbook.Save(). Seven