*表示範囲 [#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 |