function xlRun(xlFile, xlMacro, xlCmd, xlPara) { var xlApp = new ActiveXObject("Excel.Application"); xlApp.DisplayAlerts = false; xlApp.Visible = true; xlApp.Workbooks.Open(xlFile, 0, true); xlApp.Run(xlMacro, xlCmd, xlPara); xlApp.Quit(); xlApp = null; }
2005.12.19: ASP.NET でクライアントの Excel を起動する
ASP.NETで社内イントラネット用にWebアプリケーションを構築。MS-SQL ServerのデータをExcelで印刷することになった。その時にJavascriptを使ってクライアント側のExcelを起動してマクロを走らせた。実行する為には、WEBサーバをIEの《信頼済みサイト》に登録する必要があります。
面倒なCOM系の設定は不要なようだ。
(サーバ:Windows2000、クライアント:WindowsXP Pro SP2)
《コードサンプル》
function xlRun(xlFile, xlMacro, xlCmd, xlPara) {
var xlApp = new ActiveXObject("Excel.Application");
xlApp.DisplayAlerts = false;
xlApp.Visible = true;
xlApp.Workbooks.Open(xlFile, 0, true);
xlApp.Run(xlMacro, xlCmd, xlPara);
xlApp.Quit();
xlApp = null;
}
《簡単な説明》
フルパスで指定されたExcelファイルをRead-Onlyで開いて、マクロを実行する。
ASP.NET上では、Button1などにonClickイベントを割り当てる。