TIBCO Spotfire v4를 실행 중입니다. IronPython이 내장되어 있습니다. .xls 파일을 내보낼 Spotfire 보고서를 실행하려고합니다 (해당 부분이 완료되었습니다). 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에서 보낸 것으로 보인다.
보여줄 수 : 내가 솔루션을 찾고 때
이 링크는 매우 유용했다? –
다음은 사용하고 찾은 코드입니다. 가져 오기 항목의 출처가 확실하지 않습니다. pre : fName은 매크로가있는 유효한 Excel 파일 이름입니다. post : fName! macName is running, fName = 저장 한 후 닫음 "" "fName = os.path.join (경로, 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 – user2540187
기존 답변에서 질문을 다루는 것처럼 보였습니다. 시도해 보았습니까? 그렇다면 허용 된 답변으로 표시하거나 여전히 올바르지 않은 것을 알려주는 것이 좋습니다. – RyanfaeScotland