るびま#27 ― 2009/09/14
ここ数回は記事が寂しい感じがしていましたが、今回は充実しています。
VBA より便利で手軽 Excel 操作スクリプト言語「Ruby」へのお誘い (前編)
そろそろ、Excelのセルの値を操作するためにWIN32OLEライブラリを使用する記事は 止めにした方が良いのではないかなと思う今日この頃。
セルのフォーマット(フォントや配色、罫線など)を操作する必要があるなら、 今のところWIN32OLEが適切な選択ではあると思いますが、値を操作するだけで良いなら Spreadsheet このブログの記事 を使用するべきだと 思います。
- xlsxフォーマットには未対応
- 統合セルの中身にはアクセスできない
という問題点がありますが、既存のフォーマットが崩れたりする問題は(今のところ自分の環境では)ありません。 これらのデメリットに対して得られるメリットは、なんと言っても速いということです。
特定の数セルを読んで更新するぐらいならWIN32OLEでも問題ないのですが、数百行~数千行のデータファイルをxlsファイルで受け取り、 それを全行舐めてデータ更新をする必要があるような場合、素直にWIN32OLEでWorksheetの使用領域をeachしたりすると日が暮れることになります。
Spreadsheetに出会う前は、WIN32OLE経由でCSV/TSVに変換してそれをパースとかしていましたが、これは余分な手間だし、更新はやっぱりどうしようもないとか、 色々面倒臭かったです。
あと、WIN32OLEでは、Rubyが明示的なデストラクタの構造を持っていない関係かもしれませんが、OLEで接続したプロセスをRuby側から殺す方法がありません。 気付かず、どんどんプロセスを生成しているとプロセス数が50ぐらいになったところで落ちるはずです。 このあたりも、ちょっと初心者向きではないと思います。
ActiveLdap を使ってみよう(前編)
一年前にこの記事があれば……。
後編も期待。
Ruby から DirectX を扱う簡単高速ゲームライブラリ DXRuby の紹介
昔、頓挫した何かに再チャレンジしたい気がした。
コメント
トラックバック
このエントリのトラックバックURL: http://dragonstar.asablo.jp/blog/2009/09/14/4579270/tb
※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。
コメントをどうぞ
※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。
※なお、送られたコメントはブログの管理者が確認するまで公開されません。