2013-08-12 3 views
0

Pentaho 데이터 통합 ​​으로 Excel 파일을 생성하고 생성 후 자동으로 매크로를 시작하고 싶습니다. 지금까지 파일을 여는 동안 매크로가 시작되었습니다. 그러나 이것은 좋은 방법이 아닙니다. 일부 사용자는 매크로를 실행할 수있는 권한이 없으며 Excel이 변경 사항을 저장할지 묻는 파일을 열 때마다 매크로를 실행할 수있는 권한이 없습니다.쉘 밖에서 VBA 실행

Windows 셸에서 MS Excel의 VBA 매크로를 실행하는 방법이 있는지 궁금합니다. 내가 발견하는 파일을 열려면이 코드 :

Shell "C:\Programme\Office2k\Office\EXCEL.EXE " & _"C:\...\MyExcelFile.xls" 

을하지만 내가 원하는 것이 아니다. 매크로를 정확히 한 번 시작하고 모든 사용자가 매크로를 열기 전에 매크로를 시작하려고합니다.

의견이 있으십니까?

+1

당신이 VBScript를 사용을 고려겠습니까? –

+0

닫힌 파일의 닫힌 파일에서 매크로를 실행할 수 없습니다. 살펴볼 수있는 Workbook_Open() 함수가 있습니다. 그러나 이것은 대안 일뿐입니다. (열기가 필요합니다) –

+0

mehow : 지금 제가하는 일입니다. 좋은 방법은 아닙니다. @ d-stroyer : 감사합니다. VBScript가 답이 될 수 있습니다. 나는 가능한 방법을 발견 [링크] (http://stackoverflow.com/questions/10232150/run-excel-macro-from-outside-excel-using-vbscript-from-commandline) – DennisH

답변

1
(사용자 상호 작용없이 닫기 열기, 저장,) VBScript를 가진 솔루션은 다음과 같습니다

:

Set objExcel = CreateObject("Excel.Application") 
Set objWorkbook = objExcel.Workbooks.Open("C:\dev\testo.xls") 

objExcel.Application.Run "testo.xls!test" 
objExcel.ActiveWorkbook.Save 
objExcel.ActiveWorkbook.Close 

objExcel.Application.Quit 
WScript.Quit