win32ole で Excel を使う(2)

セルを指定するにはいくつかやり方がある。

 # 座標で指定。3行、5列目を指定。
 sheet.Cells.Item(3, 5)
 sheet.Cells.Item("5", "C")
 sheet.Range("C5").Item

 # セル名で指定。
 sheet.Range("cell_name").Item

上のやり方は単一セルの取り方だけど、複数セルも取得できる。

 # A1 〜 A5 を取得する方法
 cells = sheet.Range("A1:A5")

 # OLE オブジェクトには無いメソッド each が使える
 cells.each {|cell|
   puts cell.Value
 }

また、セルのフォント名や、サイズ、色などを変えるには以下のようにする。

 cell = sheet.Range("B2")
 cell.Value = "Hello, World!"
 cell.Font.Name = "MS P明朝"
 cell.Font.Size = 24
 cell.Font.Bold = true
 cell.Font.Italic = true
 cell.Font.ColorIndex = 4