OOobbs/32
質問
はじめまして。最近、calcを使い始めた。 Excelでは、セルの取得にRange("A1")とcells(1,1)の2種類のやり方がありますが、calcでは〜cellRangeByName("A1")とあって、ExcelでいうRange("A1")のような使い方をしています。 これ以外に値の取得の仕方はないのでしょうか? できれば、Excelでいうcells(1,1)のように行と列で指定できればいいのですが。ご教授お願いします。 回答
行と列で指定してのセルの取得には,getCellByPosition メソッドを使います。 getCellByPosition ( [in] long nColumn, [in] long nRow ) こんな感じにします。列,行の順に指定します。 getCellRangeByName では,"A1:B1" のように指定するとセル範囲が取得できますが,セルの行と列の指定でのセル範囲の取得には getCellRangeByPosition が使えます。 getCellRangeByPosition ( [in] long nLeft, [in] long nTop, [in] long nRight, [in] long nBottom ) よかったら OOoBasic/Calc/cell のページでもみてみてください。
例えば、ExcelのVBAで、.Cells(3,1)とすると、.Range("A3")を表しますが、.getCellByPosition(3,1)とすると、.getCellRangeByName("D2")と同値になります。 言いたいことは、2つです。1つは、OOoBASICでは、左上隅のポジションは(0,0)であり、VBAでは(1,1)であることです。 もう1つは、Cellsでは(row, column)を表すことになり、OOoBASICとは、()内の順序が逆になります。 この点で、私は失敗しました。 |