Python用xlwings调用VBA

Python015

Python用xlwings调用VBA,第1张

xlwings是Python处理Excel的有力工具,xlwings的强大之处是可以调用vba里面的宏和各种函数。由于考虑到数据的安全性问题,宏在大部分的Excel文件当中是不可以被执行的。储备能够执行的宏的Excel一般是xlmt。Python跨工作簿调用宏是需要做一系列处理,需求传递工作表信息到宏才能执行。传递完成了,基本上vba里面宏录制的各种操作都可以批量执行。

安装pypiwin32

import win32com.client

app= win32com.client.Dispatch("word.Application")

app.Workbooks.Open("宏代码所在文件路径")

app.Application.Run("宏名称")

app.Application.Quit()

比如你在excel里边有个vba函数叫foo,参数是args

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()