Top > OOoBasic > Calc > Outline

アウトライン Edit

アウトラインを取り扱います。

アウトラインの設定 Edit

シートのアウトライン作成は group メソッドで行います。引数はアウトライン化する範囲のアドレス、アウトラインの向きです。向きは COLUMNS または ROWS のどちらかを指定します。

Sub outline_1
 oDoc = ThisComponent
 oSheet = oDoc.getSheets().getByIndex(0)
 
 aAdd = CreateUnoStruct( _
     "com.sun.star.table.CellRangeAddress" )
 With aAdd
  .Sheet = 0
  .StartColumn = 0
  .EndColumn = 2
  .StartRow = 0
  .EndRow = 2
 End With
 
 oSheet.group( aAdd, _
     com.sun.star.table.TableOrientation.COLUMNS )
End Sub

アウトラインの解除 Edit

ungroup メソッドでアウトラインを解除できます。

 oSheet.ungroup( aAdd, _
     com.sun.star.table.TableOrientation.COLUMNS )

アウトラインを閉じて詳細を隠しているときに行うとセル範囲が非表示状態のままになります。展開した状態にしてから解除するか、非表示状態の範囲のセルから行または列を表示状態に戻してやる必要があります。

アウトラインの全削除 Edit

clearOutline メソッドでシート上のすべてのアウトラインを解除できます。

oSheet.clearOutline()

表示と非表示 Edit

アウトラインの表示を切り替えるには showDetail または showDetail メソッドを利用します。

Sub outline_6
 oDoc = ThisComponent
 oSheet = oDoc.getSheets().getByIndex(0)
 
 aAdd = CreateUnoStruct( _
     "com.sun.star.table.CellRangeAddress" )
 With aAdd
  .Sheet = 0
  .StartColumn = 0
  .EndColumn = 2
  .StartRow = 0
  .EndRow = 1
 End With
 
 oSheet.hideDetail( aAdd )
End Sub

アドレス指定がアウトライン範囲とまったく同じでなくてもそのアウトライングループの表示が切り替わるようです。

自動アウトライン Edit

oSheet.autoOutline( aAdd )

レベル展開 Edit

複数のレベルのアウトラインが設定されているときに指定したレベルまで一度に展開します。

oSheet.showLevel( 1, aAdd )

レベルは 1 から始まります。


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