2008/05/07

RubyでExcelのWorkSheetを追加する。

rubyでExcelの操作をしていてWorkSheetを追加したいと思った。

普通に追加するなら

book.Worksheets.Add

で追加できるのだけど、末尾に追加したい場合がある。

その方法は Ruby win32ole 拡張モジュール覚え書き(5)に載っているようにハッシュでAfterに引数渡せばいいんだけどもうまく動かない。

どうやら、Before, Afterに指定するのはインデックスではなく、Sheetのインスタンスみたいだ。

ということで、シートを末尾に追加して、名前を変えたりするには

lastSheet = book.Worksheets(book.Worksheets.Count) book.Worksheets.Add({"After"=>lastSheet}) newSheet = book.Worksheets(book.Worksheets.Count) newSheet.Name = "追加したシート"

という感じになるみたい。

0 件のコメント: