特定のフォルダ以下のExcelファイルのシートをひとつのファイルにまとめるJScript

Windows Scriptドキュメントと、Excel VBAのヘルプを見ながら書き書き。

ついでにシート名もファイル名にそうかたちに変更。

copy_and_merge();
function copy_and_merge() {
    var excel = WScript.CreateObject("Excel.Application");
    var fso = new ActiveXObject("Scripting.FileSystemObject");

    wb_dest = excel.Workbooks.Add();

    var dir_inFiles = fso.GetFolder(".\\data").files;
    var enume_Obj = new Enumerator(dir_inFiles);

    for (var i = 0; !enume_Obj.atEnd(); enume_Obj.moveNext()) {
        var wb = excel.WorkBooks.Open(enume_Obj.item());
        WScript.Echo(wb.Name);

        // ついでにシート名もファイル名にそうかたちに変更
        wb.WorkSheets(1).Name = wb.Name.split(":")[1].split(")")[0];

        wb.WorkSheets(1).Copy(wb_dest.WorkSheets(1));
        wb.close();
    }

    // フルパスじゃないとユーザーホームに作成されちゃったので
    wb_dest.saveAs(fso.GetAbsolutePathName(".") + "\\merged.xls");
    wb_dest.close();

    excel.quit();
    // FileSystemObjectはcloseメソッドがないし、閉じなくていいみたい
}