Top > OOobbs2 > 13
** [[OOobbs2/13]] [#ic5d763a]
-''サマリ'': 現在セル位置からの新アドレスの相対指定
-''環境'': Calc
-''状態'': 解決
-''投稿者'': [[くま]]
-''投稿日'': 2006-11-29 (水) 21:07:34
*** 質問 [#z9f1ad94]
毎度お世話になります。
 現在アドレス A600
 を基礎に、+20行の相対アドレスを指定し、データを書き込みたいのです。
 実際のルーチンはFor next 内での作業ですが。
 
*** 回答 [#w225039a]
- A600:A620 などのセル範囲オブジェクトを取得してやれば、そのセル範囲の左上のセルのアドレスが ''getCellByPosition'' メソッドでセル範囲オブジェクトからセルオブジェクトを取得するときのアドレス 0, 0 になります。

A2:A5 のセル範囲を取得したとすると、

 oCellRange = oSheet.getCellRangeByName("A2:A5")

このセル範囲の左上のセルのアドレスが (0, 0) としてサブセルにアクセスできます。

 oCell = oCellRange.getCellByPosition( 0, 0 )

0, 0 は A2 に相当。

 For i = 0 To 3
   oCell = oCellRange.getCellByPosition( 0, i )
   oCell.setString( CStr(i) )
 Next i

このとき、インデックスがセル範囲オブジェクトのセル範囲以上の値になると例外が発生します。

-- [[はにゃ?]] &new{2006-11-29 (水) 21:19:52};
- いつもありがとうございます。LotusのマクロをOOoに移植するのですが、勉強しながらやっていますのでお手を煩わせます。よろしくお願いします。 -- [[くま]] &new{2006-11-30 (木) 09:26:47};

#comment
*** 感想,コメント,メモ [#i299b560]

#comment

Reload   New Lower page making Edit Freeze Diff Upload Copy Rename   Front page List of pages Search Recent changes Backup   Help   RSS of recent changes