2012-06-13 3 views
3

Python을 사용하여 DataBook.csv의 워크 시트에있는 MacroBook.xlsm에 포함 된 매크로를 실행하고 싶습니다.Python - Excel 매크로 실행

일반적으로 Excel에서 두 파일을 열고 Data.csv 파일로 포커스를 이동하고 MacroBook에서 매크로를 실행합니다. 파이썬 스크립트는 매일 Data.csv 파일을 다운로드하므로 해당 파일에 매크로를 넣을 수 없습니다. 여기

내 코드입니다 : 나는 오류가

import win32com.client 
import os 
import xl 

excel = win32com.client.Dispatch("Excel.Application") 

macrowb = xl.Workbook('C:\MacroBook.xlsm') 
wb1 = xl.Workbook('C:\Database.csv') 
excel.Run("FilterLoans") 

, "pywintypes.com_error : (-2147352567은, '예외가 발생했습니다.', (0, u'Microsoft 엑셀 ', u는"매크로를 실행할 수 없습니다 'FilterLoans'매크로가이 통합 문서에서 사용할 수 없거나 모든 매크로가 비활성화되었을 수 있습니다. ", u'xlmain11.chm ', 0, -2146827284), 없음)"

FilterLoans를 사용할 수 없다는 오류가 발생합니다 Database.csv 파일에서 ... 어떻게 가져올 수 있습니까?

+1

을하지만, 단지 추측 :'macrowb .Run ("FilterLoans")'? –

+1

같음 : P 파이썬을 사용하지 않았으므로이 'excel.Run ("MacroBook! FilterLoans")' –

+0

시다 하트의 코드가 작동합니다. 감사합니다! @iDevlop - macrowb에서 코드를 실행하려고하기 때문에 작동하지 않습니다. – user1137778

답변

0

1) * .csv 파일에는 VBA를 사용할 수 없습니다. 활성 통합 문서를 사용하려면 * .xlsm 파일이 필요합니다. 귀하의 매크로가 그것을 찾는 방법을 알고 있다면 나는 * .csv 파일을 열 필요가 있다고 생각하지 않습니다.

2) VBA 모듈에서 Office Excel에서 액세스 사용 :

File 
options 
Trust Center 
Trust Center Settings 
Macro Settings 
Enable VBA access 

3) 내가 매크로를 실행하려면이 기능을 사용하고 있습니다 : 파이썬을 사용하지 마십시오

excel.Application.Run("FilterLoans")