Top > OOobbs > 32

OOobbs/32 Edit

  • サマリ: セルの値をExcelみたいにcells(1,1)で取得したい
  • 環境: Calc
  • 状態: 解決
  • 投稿者: okiraku?
  • 投稿日: 2004-09-15 (水) 19:05:52

質問 Edit

はじめまして。最近、calcを使い始めた。 Excelでは、セルの取得にRange("A1")とcells(1,1)の2種類のやり方がありますが、calcでは〜cellRangeByName("A1")とあって、ExcelでいうRange("A1")のような使い方をしています。 これ以外に値の取得の仕方はないのでしょうか? できれば、Excelでいうcells(1,1)のように行と列で指定できればいいのですが。ご教授お願いします。

回答 Edit

  • どうも。

行と列で指定してのセルの取得には,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 のページでもみてみてください。

  • はにゃ?? 2004-09-16 (木) 00:19:21
  • ご教授ありがとうございました。それでやってみます。 -- okiraku? 2004-09-16 (木) 18:18:19
  • 既にお気づきかと思いますが。。。。 -- Cyksart? 2004-10-12 (火) 17:27:22

例えば、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とは、()内の順序が逆になります。

この点で、私は失敗しました。



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