2013-02-06 38 views
6

My Excelブックには、以下のようなVBAサブマクロとマクロが含まれています。彼らはModule1に座っています。Pythonのwin32comを使ってExcelのVBA関数とサブプログラムを呼び出す方法は?

Pythonのwin32comモジュールを使用して呼び出す方法はありますか?

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 

事前に感謝します。

+1

これはあなたを助けるかもしれません:http://stackoverflow.com/questions/345920/need-skeleton-code-to-call-excel-vba- from-pythonwin – Eric

答えて

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 

この同じくらいシンプルな....

関連する問題