
Sponsored Link
[WSH]Excelを操作する
Excelを扱う
Excel.Applicationオブジェクトを作成する
new ActiveXObject("Excel.Application");
Excel.Applicationオブジェクトのメソッド/プロパティについては、VBAとほぼ同じ(っぽい)。
Ex.1)Excelの新規ブックを作成して保存して閉じる
var excelApp = new ActiveXObject("Excel.Application");
// Excel画面を表示する(非表示にしたい場合はfalseにする)
excelApp.Visible = true;
// 新規ワークブックを作成
var workbook = excelApp.Workbooks.Add();
// 名前をつけて保存
workbook.SaveAs("Excelファイルの名前を入れよう");
// 新規ワークブックを閉じる
workbook.Close();
// Excelを閉じる
excelApp.Quit();
// Excel.Applicationオブジェクトの解放
excelApp = null;
Ex.2)既存のExcelブックを開く
var excelApp = new ActiveXObject("Excel.Application");
excelApp.Visible = true;
// 既存のExcelファイルを開く(エスケープ文字で記載すること)
var workbook = excelApp.Workbooks.Open("C:\\User\\Desktop\\TestExcel.xlsx");
// 名前をつけて保存
workbook.SaveAs("Excelファイルの名前を入れよう");
// 新規ワークブックを閉じる
workbook.Close();
// Excelを閉じる
excelApp.Quit();
// Excel.Applicationオブジェクトの解放
excelApp = null;
WSHのExcel操作備忘録
// Excelオブジェクトの生成
var excelApp = new ActiveXObject("Exc2el.Application");
// 新規ワークブックを作成
var workbook = excelApp.Workbooks.Add();
// シート1を選択
var worksheet = workbook.Worksheets(1);
// シート名の更新
worksheet.Name = "Sheet1の名前を入れよう";
// セルに文字を入力する
worksheet.Cells(1,1).Value = "A1に入る文字";
// セルに関数を入力する
worksheet.Cells(2,1).Formula = "=SUM(B1:B3)";
worksheet.Range(worksheet.Cells(1,2),worksheet.Cells(3,1));
Ex)functionで纏める
var fso = new ActiveXObject("Scripting.FileSystemObject");
var fileName = "C:\\Users\\test";
workbookCreate(fso.getAbsolutePathName(fileName), true,
function(workbook,excel){
// ここに処理を書いていく
var worksheet = workbook.Worksheets(1);
worksheet.Cells(1, 2).Value = "hoge";
worksheet.Cells(2, 2).Value = "hoge";
}
);
// ワークブックを作成する関数
function workbookCreate(filename,visible,func) {
runExcel(visible,function(excel){
var workbook = excel.Workbooks.Add();
try {
try {
func(workbook,excel);
} finally {
workbook.SaveAs(filename);
}
} finally {
workbook.Close();
}
});
}
// エクセルオブジェクトの生成
function runExcel(visible, func) {
var excel = new ActiveXObject("Excel.Application");
excel.Visible = visible;
excel.DisplayAlerts = false;
try {
func(excel);
} finally {
excel.Quit();
excel = null;
}
}