2013年6月13日木曜日

rubyでexcel操作

rubyでexcel操作するとしたら、今までは

VBA より便利で手軽 Excel 操作スクリプト言語「Ruby」へのお誘い (前編)
Win32OLE 活用法 【第 2 回】 Excel

を参考にしていた。

さすがに手間なので、書き込み限定で、

Ruby1.9でWriteExcelを試してみた。

りもしたけれども、 WriteExcelspreadsheet みたいなライブラリは、
Excelで使える機能の代替が無いか散々調べたあげく、
結局、細かい設定やExcel依存の機能をwin32ole経由で処理することが多いわけで。

ちょっと凝ったことをやりたければ、イチからwin32ole経由でExcel操作するスクリプトを書いた方が早い。
とはいえ、vba/vbscriptで培ったwin32ole操作スキルなんて普段使わないと忘れるので、
いつも思い出すところからスタートするのも苦痛。

Excel操作の必要があるたびに、Excel互換ライブラリを探して、無ければvba/vbscriptの復習。
vba/vbscriptを捨てるためにrubyに移行しているのに、復習からスタートする必要があるのは、いつも釈然としなかった。

Excelの読み書きをしたいんであって、vba/vbscriptの復習をしたいわけじゃないんだけど、、
っと思いつつ、久々に「ruby excel」でググったところ、
上位で見つけたExcel用のモジュールがとても便利だった。

Ruby: Win32OLEでの Excelの操作

これぐらい小さいモジュールであれば見ればすぐ思い出せるし、拡張や応用も楽。

(いい意味でvba/vbscriptよりも使いやすい)独自文法で、
(vba/vbscriptよりは落ちるけど比較的)多機能な
凝ったExcel互換ライブラリを無理に探す必要はないなぁ…っと、
目から鱗が落ちる思いでした。

以下、参考資料。

Ruby による Win32OLE プログラミング