Top > OOoBasic > Calc > Outline

*アウトライン [#z848cff4]

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

#contents


**アウトラインの設定 [#fdcb0cc5]
シートのアウトライン作成は group メソッドで行います。引数はアウトライン化する範囲のアドレス、アウトラインの向きです。向きは COLUMNS または ROWS のどちらかを指定します。
#code(ob){{
Sub outline_1

 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
}}
 End Sub

**アウトラインの解除 [#w23ac3ff]

ungroup メソッドでアウトラインを解除できます。
  oSheet.ungroup( aAdd, _
      com.sun.star.table.TableOrientation.COLUMNS )
アウトラインを閉じて詳細を隠しているときに行うとセル範囲が非表示状態のままになります。展開した状態にしてから解除するか、非表示状態の範囲のセルから行または列を表示状態に戻してやる必要があります。
**アウトラインの全削除 [#x2714c24]
clearOutline メソッドでシート上のすべてのアウトラインを解除できます。

 oSheet.clearOutline()
**表示と非表示 [#wffdaa43]
アウトラインの表示を切り替えるには showDetail または showDetail メソッドを利用します。
#code(ob){{
Sub outline_6

 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
}}
アドレス指定がアウトライン範囲とまったく同じでなくてもそのアウトライン グループの表示が切り替わるようです。
 End Sub

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

**自動アウトライン [#kdef5f9d]

 oSheet.autoOutline( aAdd )

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

 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