マクロを有効にした XML ブック(*.xlsm)を既定のXML ブック(*.xlsx)に変換する。
xlsm2xlsx.jsのアイコンに変換したい *.xlsm ファイルを複数Drag&Dropすると *.xlsx ファイルを生成する。
xlsm2xlsx.js
var xlWorkbookDefault = 51; var ExcelApp = new ActiveXObject( "Excel.Application" ); // *.jsファイルにDrag&Dropされたファイルを順番に処理 var args = WScript.Arguments; for (var i = 0; i < args.length; i++ ) { var orgFilename = args(i); // 特定の拡張子のみ処理を実施 var orgExtension = orgFilename.split('.').pop(); if( orgExtension == 'xlsm' ){ var baseName = orgFilename.substring(0, orgFilename.indexOf('.'+orgExtension)) // ファイルを開いて形式を変更して保存 var book = ExcelApp.Workbooks.Open( orgFilename ); ExcelApp.DisplayAlerts= false; book.SaveAs( baseName + '.xlsx' , xlWorkbookDefault ); ExcelApp.DisplayAlerts= true; ExcelApp.Quit(); } } WScript.Echo( "finish" ); ExcelApp = null;
参考
https://docs.microsoft.com/ja-jp/office/vba/api/excel.xlfileformat
https://docs.microsoft.com/ja-jp/office/vba/api/excel.workbook.saveas