JScriptでEXCELのヘッダ、フッタを編集する
仕事でEXCELのヘッダ、フッタ、プロパティを一括置換しなければならなかったので調べてみた。WSHは制約が多いので不便なのだが、仕事で楽をする程度のゆるい使い方に限定すれば結構便利。
/* * MS-EXCELのヘッダ、フッタ、プロパティを編集する * headers: 左、中央、右ヘッダの内容の配列 * footers: 左、中央、右フッタの内容の配列 * properties: プロパティのDictionary */ function excel_setting(filename, headers, footers, properties) { var excel = WScript.CreateObject("Excel.Application"); var workBook = excel.WorkBooks.Open(filename, 1); // シートを順番に取得 for (var i = 1; i <= workBook.WorkSheets.Count; i++) { var sheet = workBook.WorkSheets.Item(i); // ヘッダの設定 sheet.PageSetup.LeftHeader = headers[0]; sheet.PageSetup.CenterHeader = headers[1]; sheet.PageSetup.RightHeader = headers[2]; // フッタの設定 sheet.PageSetup.LeftFooter = footers[0]; sheet.PageSetup.CenterFooter = footers[1]; sheet.PageSetup.RightFooter = footers[2]; } // プロパティの設定 for (var key in properties) { var property = workBook.BuiltinDocumentProperties.Item(key); property.Value = properties[key]; } workBook.Save(); workBook.Close(); excel.Quit(); }
ちなみに、ヘッダ、フッタには書式コードが使える。