2011年5月15日日曜日

行・列オブジェクトの取得

シートの特定の行オブジェクト、列オブジェクトを取得するマクロについて
考える。
  
先ず、行オブジェクトの取得から。4 行目 (の行オブジェクト) を取得する
サンプルコードを下記に記す :
  
Sub ExampleGetRow()
       Dim objSheet As Object

       Dim objCell As Object
       Dim objRow As Object
       objSheet = ThisComponent.CurrentController.ActiveSheet
objCell = objSheet.getCellRangeByName("A4")
objRow = objCell.Rows
End Sub
  
Excel の場合、4 行目を取得するには Rows("4:4") とやるだけで済んで
しまうがむ Calc の場合は少々ややこしく、下記 1.、2. の手順で行う必要
がある :
  
1. 先ず、取得したい行の何れかのセルオブジェクトを取得する。
   上記のコードでは "A4" としたが、"B4" でも "E4" でも構わない。
  
2. 取得したセルオブジェクトの Rows プロパティを用いて行オブジェクト
   を取得する。
  
同様に、列オブジェクトを取得する場合も、
  
1. 先ず、取得したい列の何れかのセルオブジェクトを取得する。
  
2. 取得したセルオブジェクトの Columns プロパティを用いて列オブジェクト
   を取得する。
    
以下にサンプルコードを記す。下記は B 列を取得する例である :
  
Sub ExampleGetColumn()
       Dim objSheet As Object
       Dim objCell As Object
       Dim objColumn As Object
       objSheet = ThisComponent.CurrentController.ActiveSheet
objCell = objSheet.getCellRangeByName("B1")
objColumn = objCell.Columns
End Sub
  
上の例では "B1" セルを取得しているが、B 列のセルであれば同じ
結果が得られる。

0 件のコメント:

コメントを投稿