2020년 2월 7일 금요일

VBS 로 Excel Macro (Sub) 실행하기. Excel 백그라운드 매크로 실행

엑셀을 실행하지 않고 (백그라운드에서 실행하여) 매크로를 실행해주는 방법입니다.
VBS 를 사용합니다. (Visual Basic Script)

새 텍스트 파일을 만들어 확장자를 .vbs 로 변경해주시고 아래의 코드를 붙여넣어보세요.
엑셀 파일은 .xlsm 으로 미리 모듈 등으로 Sub문 매크로를 만들어두셔야 합니다.
VBS 파일의 경로는 xlsm과 같은 경로에 만듭니다.

이걸로 엑셀을 실행해서 작업을 하지 않아 더 빠르게 작업을 해둘 수 있어요.
적당히 응용해서 사용해보세요.


Dim Excel, Path

Set Excel = WScript.createObject("Excel.Application")

Path = WScript.ScriptFullName             ' 현재 실행하는 전체 파일이름 (경로+이름)
Path = Left(Path, InStrRev(Path, "\"))  ' 이름제거후 경로만 추출

Excel.Workbooks.Open(Path&"엑셀파일이름.xlsm") '매크로 포함된 엑셀 파일 실행

'실행하고 싶은 Sub문 입력
'Sub문에 모든걸 해두고 그 함수를 호출하는 것이 순차적으로 처리되어 원하는 결과물이 나올 것입니다.
'순차적으로 Excel.Run 을 시키면 동시에 실행되서 이상한 결과가 나올 수 있어요.
'이 함수에서 처리가 끝난 후, 해당 Workbook 을 저장하기를 권합니다.
Excel.Run "Sub문 매크로 함수명" 

' 파일 닫기
Excel.Quit

'변수 초기화
Set Excel = Nothing
Set Path = Nothing

댓글 없음:

댓글 쓰기