我正在运行TIBCO Spotfire v4。它内置了IronPython。希望运行Spotfire报告,该报告将导出一个.xls文件(该部分完成)。寻找一个脚本来打开一个Excel文件并运行一个宏来格式化文件。IronPython - 运行Excel宏
以下是我找到并尝试使用的一些代码。不确定进口产品来自哪里!
import os, os.path, win32com.client
def run_macro(fName, macName, path=os.getcwd()):
"""
pre: fName is the name a valid Excel file with macro macName
post: fName!macName is run, fName saved and closed
"""
fName = os.path.join(path, fName)
xlApp = win32com.client.Dispatch("Excel.Application")
fTest = xlApp.Workbooks.Open(fName)
macName = fTest.Name + '!' + macName xlApp.Run(macName)
fTest.Close(1)
xlApp.Quit()
xlApp = None
编辑器 - 代码看起来是从Cannot iterate VBA macros from Python。
你能告诉我们你试过吗? –
以下是我找到并尝试使用的一些代码。不确定进口产品来自哪里!导入os,os.path,win32com.client def run_macro(fName,macName,path = os.getcwd()):“”“pre:fName是一个有效的Excel文件,名称为macName macName post:fName!macName is run, fName保存并关闭“”“fName = os.path.join(path,fName)xlApp = win32com.client.Dispatch(”Excel.Application“)fTest = xlApp.Workbooks.Open(fName)macName = fTest.Name +' ! + macName xlApp.Run(macName)fTest.Close(1)xlApp.Quit()xlApp =无 – user2540187
它看起来像现有的答案涵盖了你的问题,你试过它,并为你工作吗?如果是这样,请考虑将其标记为已接受的答案,或让我们知道还不完全正确。 – RyanfaeScotland