hiko-blog

VBA業務改善

MENU

バッチでExcelマクロを呼び出し起動

@echo off
set ExcelPath="C:\Program Files\Microsoft Office\root\Office16\EXCEL.EXE"  REM Excelのインストールパス
set ExcelFile="C:\パス\MyExcelFile.xlsm"  REM Excelファイルのパス
set VBAMacro="MyMacro"  REM 実行したいVBAマクロの名前

start "" %ExcelPath% /e %ExcelFile% CALL :RunMacro
exit

:RunMacro
ping 127.0.0.1 -n 2 > nul  REM Excelが起動するまで待機
echo Running VBA Macro...
powershell -Command "& { $xl = New-Object -ComObject Excel.Application; $xl.Visible = $false; $wb = $xl.Workbooks.Open(%ExcelFile%); $xl.Run(%VBAMacro%); $wb.Close($false); $xl.Quit() }"
exit /b