忘年会集計

//-------------------------------------------------------------------
// 忘年会アンケートの集計プログラム
//-------------------------------------------------------------------
// 変数の初期化など
var fso = WScript.CreateObject("Scripting.FileSystemObject");
var excel = WScript.CreateObject("Excel.Application");
var result = "";
// ファイルを1つずつ処理する
var dir = fso.GetFolder(".");
var files = new Enumerator(dir.Files);
while (files.atEnd() == false) {
checkExcelFile(files.item());
files.moveNext();
}
excel.Quit();
// 結果をファイルに書き出す
var csv = fso.CreateTextFile("result.csv", true);
csv.WriteLine("名前,部署,一次会,二次会,希望予算,希望会場");
csv.Write(result);
//-------------------------------------------------------------------
// Excelファイルを起動してアンケート記録を取得する関数
function checkExcelFile(f) {
var path = f.Path;
if (!path.match(/\.xls.?$/)) return; // Excelファイル以外は除外
var book = excel.Workbooks.Open(path); // ファイルを読み込む
excel.Visible = true;
var sheet = book.ActiveSheet;
// シートから値を抜き出す
var namae = sheet.getCell(4,3).Value; // お名前
var busyo = sheet.Cells(5, 3).Value; // 部署
var kai1 = sheet.Cells(6, 3).Value; // 一次会への参加
var kai2 = sheet.Cells(7, 3).Value; // 二次会への参加
var yosan = sheet.Cells(8, 3).Value; // 二次会希望予算
var basyo = sheet.Cells(9, 3).Value; // 希望会場
book.Close();
// 集計する
kai1 = (kai1 == "参加") ? 1 : 0; // 参加なら1、不参加なら0に
kai2 = (kai2 == "参加") ? 1 : 0;
var row = [namae,busyo,kai1,kai2,yosan,basyo];
result += row.join(",") + "\n";
}
//-------------------------------------------------------------------