我正在運行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