2013-02-06 18 views
6

मेरी एक्सेल वर्कबुक में वीबीए सबस और मैक्रोज़ नीचे दिए गए समान हैं; वे मॉड्यूल 1 में बैठते हैं।पायथन Win32com का उपयोग कर Excel VBA फ़ंक्शंस और subs को कैसे कॉल करें?

पायथन 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- से-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 

बस के रूप में इस के रूप में सरल ....

संबंधित मुद्दे