スポンサーリンク

JScript/WSH で,Excelファイルを読み書きしよう


JScriptからExcelを操作するコード。

  • 新規Excelファイルの自動生成
  • 既存のブックの読み書き

などできて便利。



下記のスクリプトを保存して,ダブルクリックする。→ Excelが生成される。


hoge.js

var filename = "エクセル.xls";


// 定数
var xlMaximized = -4137;


// Excelを立ち上げる
var excel = WScript.CreateObject("Excel.Application");
excel.Visible = true;


// 新規ワークブックを作成
excel.Workbooks.Add();
	// 既存のブックを開きたい場合は,かわりに下記を実行。
	//excel.Workbooks.Open( filename );
var book = excel.Workbooks( excel.Workbooks.Count ); // ワークブックを取得
excel.ActiveWindow.WindowState = xlMaximized; // 最大化


// ブックを編集
var sheet = book.WorkSheets("Sheet1"); // シートを取得
sheet.Cells( 1, 1 ).Value = "hoge";
sheet.Cells( 1, 2 ).Formula = "=1+1";


// ブックを保存
excel.DisplayAlerts = false; // 既存ファイルがあっても上書きする
book.SaveAs( filename );


// Excelを閉じて終了
excel.Quit();
excel = null;

概説:

補足

Excel.Applicationについての入手可能な情報は,だいたいVBScriptだ。JScripterには困る。

VBScript から Excel を使う:ある nakagami の日記:So-netブログ
http://nakagami.blog.so-net.ne.jp/200...



WSH(vbscript)からExcel を操作する
http://www012.upp.so-net.ne.jp/scotch...

(↑リンク切れ)


Excel の処理 ( VBScript のクラス )
http://winofsql.jp/VA003334/asp051106...


しかし,今回のコードで挙げたパターンがわかってしまえば,あとはVBAでいつも書いているコードを忠実にJavaScriptの世界に持ってくるだけ。


関連する記事:

Excelブックの「シート目次」を,自動的に作成するバッチ (WSH/JScriptで,各シートへのリンク付きの目次を自動生成)
http://language-and-engineering.hatenablog.jp/entry/20110921/p1


Excelのマクロを外部に吸い出して保存するバッチ (WSH/JScriptで,VBAのソースコードだけを抜き取る)
http://language-and-engineering.hatenablog.jp/entry/20100524/p1


JScript / VBScript (WSH)で,IEを自動操作しよう
http://language-and-engineering.hatenablog.jp/entry/20090713/p1