比如你在excel里邊有個(gè)vba函數(shù)叫foo,參數(shù)是args
我們提供的服務(wù)有:成都網(wǎng)站制作、網(wǎng)站設(shè)計(jì)、外貿(mào)網(wǎng)站建設(shè)、微信公眾號(hào)開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、環(huán)江ssl等。為數(shù)千家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的環(huán)江網(wǎng)站制作公司
import win32com.client
xls=win32com.client.Dispatch("Excel.Application")
xls.Workbooks.Open(Filename="***.xls")
ret = xls.Application.Run("foo", args)
print ret
xls.Application.Quit()
vba處理起來肯定更加直接,因?yàn)樗褪轻槍?duì)office設(shè)計(jì)的,python也擁有強(qiáng)大的功能,但并沒有針對(duì)office的庫,需要查找相關(guān)的內(nèi)容來完成,相對(duì)麻煩一點(diǎn),vba更加的直接。
已有一個(gè)Python腳本實(shí)現(xiàn)了部分功能,想使用VBA直接調(diào)用Python腳本
Python腳本如下:
[python] view plain copy
import time
def hello(name):
return "Hello, " + name + "!"
print hello("World")
#延時(shí)關(guān)閉windows控制臺(tái),使得用戶可以看到運(yùn)行結(jié)果
time.sleep(150);
方法如下:
[python] view plain copy
pre name="code" class="vb"Sub test()
Call Shell("C:\Python27\Python.exe C:\Users\Hongxing\Desktop\py2exe\Hello.py", vbNormalFocus)
End Sub
你好:
建議你還是直接寫一個(gè)Python函數(shù)了;
Python和Office2013里面的Excel,完美結(jié)合的!
方法如下:
Sub test()
Call Shell("C:\Python27\Python.exe C:\Users\Hongxing\Desktop\py2exe\Hello.py", vbNormalFocus)
End Sub