Seite 1 von 1

Excel VBA Makro mit Python öffnen

Verfasst: Montag 21. Juni 2010, 16:51
von lodder
Weiß jemand wie ich in Python ein Excel VBA Makro öffnen kann. Dieses Makro befindet sich bei mir im Modul 1.
Bis jetzt kann ich nur Werte in Excel reinschreiben, siehe Code:

Code: Alles auswählen

[code]import win32com
import win32com.client
from win32com.client import Dispatch

xlApp = Dispatch("Excel.Application")
xlApp.Workbooks.Open("D:\qwertz.xls")
xlApp.Visible = 1
contents = ('Fin/GHz', 'Fout/GHz', 'Pin/dBm', 'Pout/dBm')
for i, content in enumerate (contents):
    xlApp.ActiveSheet.Cells(1, i+1).Value = content

Fin = [0,0,0]
Fout =[8,9,10]
Pin = [1.0, 2.5,3.4]
Pout =[25.5, 30, 7]

j = 0
n = 2
while j < 3:
    liste = ([Fin[j], Fout[j], Pin[j], Pout[j]])
    for m, content in enumerate (liste):
        xlApp.ActiveSheet.Cells(n, m+1).Value = content

    n += 1
    j += 1


ws = xlApp.Worksheets('Tabelle1')
ws.Makro1()
[/code]

bei den letzten zwei Codezeilen bin ich schon am rumprobieren. Jemand eine Ahnung ?

Re: Excel VBA Makro mit Python öffnen

Verfasst: Montag 21. Juni 2010, 18:01
von lodder
hat keiner eine Antwort dazu ?

Re: Excel VBA Makro mit Python öffnen

Verfasst: Montag 21. Juni 2010, 18:23
von b.esser-wisser
google schlägt "xlApp.run('Makro1')" vor ...

disclaimer:
ich hab kein ms-office/teile davon hier, ich hab nicht vor das auszuprobieren, ich hab ja eh keine Ahnung etc. pp.

Re: Excel VBA Makro mit Python öffnen

Verfasst: Montag 21. Juni 2010, 20:51
von lodder
jetzt habe ich nochmals eine Frage. Wie muss ich den Code umschreiben, damit die Werte in ein bestimmtes Tabellenblatt in Excelgeschrieben werden. Z.B. in Tabelle 2

die letzten zwei Zeilen Codes sind schwachsinn

Re: Excel VBA Makro mit Python öffnen

Verfasst: Montag 21. Juni 2010, 21:10
von lodder
ich kann mir meine frage selber beantworten:

Lösung

xlApp.ActiveWorkbook.Sheets("Tabelle2").Cells(1, i+1).Value = content