【发布时间】:2016-01-28 20:22:35
【问题描述】:
我正在运行 TIBCO Spotfire v4。它内置了 IronPython。希望运行将导出 .xls 文件的 Spotfire 报告(该部分已完成)。正在寻找一个脚本来打开一个 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
EDITOR - 代码看起来来自Cannot iterate VBA macros from Python。
【问题讨论】:
-
你能告诉我们你的尝试吗?
-
这是我找到并尝试使用的一些代码。不知道进口商品从哪里来! import os, os.path, win32com.client def run_macro(fName, macName, path=os.getcwd()): """ pre: fName 是带有宏 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 = None
-
现有答案似乎涵盖了您的问题,您是否尝试过并且对您有用?如果是这样,请考虑将其标记为已接受的答案,或者让我们知道还有什么不完全正确。
标签: excel ironpython spotfire vba