Top > OOoBasic > Calc > visiblearea
*表示範囲 [#a4ebe4b2]

シート中に表示されている範囲を調べたり変更したりしてみます。

#contents

**表示セル範囲オブジェクト [#a58b40f0]
表示セル範囲を取得するメソッドを使用することで表示範囲に相当するセル範囲オブジェクトを取得することができます。''getReferredCells'' メソッドを使用します。

 .table.XCell getReferredCells()

このメソッドで戻されるオブジェクトはセルオブジェクトと同じものです。

また,戻されるオブジェクトに含まれる範囲はウィンドウ内に完全に表示されているセルのみが含まれるセル範囲です。少しでもはみ出ているセルは含まれません。

次のようにしてこのメソッドを使用してみます。

 Sub visiblearea_1
 Dim oDoc As Object
 Dim oController As Object
 
   oDoc = ThisComponent
   oController = oDoc.getCurrentController()
   MsgBox oController.getReferredCells().RangeAddress.EndColumn
 End Sub

**最初の表示セル [#i574b4ac]
ウィンドウ内に表示されている最初のセルのアドレスを知る方法です。

***取得 [#r9e33719]

ウィンドウ内に表示されている最初のセルのアドレスを取得するには''getFirstVisibleColumn'' と ''getFirstVisibleRow'' メソッドを使用します。

 long getFirstVisibleColumn()
 long getFirstVisibleRow()

例です。

 Sub visiblearea_2
 Dim oDoc As Object
 Dim oController As Object
 
   oDoc = ThisComponent
   oController = oDoc.getCurrentController()
   MsgBox oController.getFirstVisibleColumn()
   MsgBox oController.getFirstVisibleRow()
 End Sub
***設定 [#db77e136]
ウィンドウ内に表示される最初のセルを設定するには ''setFirstVisibleColumn'' と ''setFirstVisibleRow'' メソッドを使用します。

 void setFirstVisibleColumn( long nColumnAddress )
 void setFirstVisibleRow( long nRowAddress )

例です。

 Sub visiblearea_3
 Dim oDoc As Object
 Dim oController As Object
 
   oDoc = ThisComponent
   oController = oDoc.getCurrentController()
   oController.setFirstVisibleColumn( 3 )
   oController.setFirstVisibleRow( 5 ) 'D6
 End Sub

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