python中调用excel中的VBA代码,本机需要安装python以及该python版本对应的“pywin32-214.win32-py2.5.exe”
#!/usr/bin/env python #-*- encoding: gb2312 -*- #-*- coding:gb2312 -*- import os,time import os.path import win32com.client import sys reload(sys) sys.setdefaultencoding('gb2312') def CallVba(): xlApp = win32com.client.Dispatch('Excel.Application') xlApp.visiable = 1 #此行设置打开的excel表格为可见状态;忽略excel表格默认不可见 #打开excel表格文件 xlBook = xlApp.workbooks.Open(toolPath) #ExecuteExcel4Macro函数的参数必须为字符串类型 #在该字符串参数中,依次包含“宏函数所在的excel表格名称”+“宏函数的名称”+“宏函数的参数” #在宏函数的参数中,字符串参数filePath需要在两边分别加上一个“, #strPara = xlBook.Name + '!analyseFluxLog("'+参数1+ '","' + 参数2 + '")' strPara = xlBook.Name + '!Calcaculte()' status = xlApp.ExecuteExcel4Macro(strPara) xlBook.colse(SaveChanges= False) #关闭excel,不保存