2013-02-06 8 views
6

Meine Excel-Arbeitsmappe enthält VBA-Subs und Makros, die den folgenden ähneln. Sie sitzen in Modul1.Wie Excel VBA-Funktionen und Subs mit Python win32com aufrufen?

Wie Sie sie mit Python win32com Modul aufrufen?

Public Sub setA1(ByVal s As String) 
    ThisWorkbook.ActiveSheet.Range("A1").Value = s 
End Sub 

Public Function getA1() As String 
    getA1 = ThisWorkbook.ActiveSheet.Range("A1").Value 
End Function 

Vielen Dank im Voraus!

+1

Dies könnte Ihnen helfen: http://stackoverflow.com/questions/345920/need-skeleton-code-to-call-excel-vba- von pythonwin – Eric

Antwort

9
import win32com.client 
xl=win32com.client.Dispatch("Excel.Application") 
xl.Workbooks.Open(Filename="c:\\temp\\book1.xls",ReadOnly=1) 
xl.Application.Run("setA1", '4') 
res = xl.Application.Run("getA1") 
print res 
xl = 0 

Genau so einfach wie diese ....

Verwandte Themen