Top > OOoBasic > Calc > NamedRange

*名前を付けた範囲 [#ja475a56]

名前が付けられた範囲。

#contents

**名前が付けられた範囲コンテナ [#f3fc6c4c]

ドキュメント モデル オブジェクトの NamedRanges プロパティから取得します。
ドキュメントモデルオブジェクトの NamedRanges プロパティから取得します。

 oDoc = ThisComponent
 oNamedRanges = oDoc.NamedRanges

名前を付けられた範囲はドキュメント単位で管理されておりシート単位ではありません。
**範囲を追加 [#s81c548c]

新しい名前を付けた範囲を追加するにはコンテナ オブジェクトの addNewByName メソッドを利用します。
新しい名前を付けた範囲を追加するにはコンテナオブジェクトの addNewByName メソッドを利用します。

#code(ob){{
Sub namedrange_3
  oDoc = ThisComponent
  oNamedRanges = oDoc.NamedRanges
  
  aPosition = CreateUnoStruct( _
    "com.sun.star.table.CellAddress")
  With aPosition
    .Sheet = 0
    .Column = 0
    .Row = 0
  End With
  
  sName = "RangeA"
  sCont = "$表1.$A$1:$C$3"
  
  oNamedRanges.addNewByName( _
      sName, sCont, aPosition, 0 )
End Sub
}}

-void ''addNewByName'' ( [in] string aName, [in] string aContent, [in] .table.CellAddress aPosition, [in] long nType )

-aName: 範囲名
-aContent: 範囲の内容指定
-aPosition: 相対参照の基本位置
-nType: 範囲の種類 com.sun.star.sheet.NamedRangeFlag 定数


**タイトルから範囲を追加 [#u78a0841]

セルの文字列を範囲名として名前を付けた範囲を自動的に作成します。範囲名にはタイトル行または列の文字列 (_文字列) が利用され、範囲にはタイトルセルは含まれません。

次のようなセル範囲のとき。

||A|B|
|7|RangeC|RangeD|
|8|1|3|
|9|2|4|

以下のようにすると、範囲名 "_RangeC" および "_RangeD" が範囲 "A8:A9" および "B8:B9" として作成されます。

#code(ob){{
Sub namedrange_4
  oDoc = ThisComponent
  oNamedRanges = oDoc.NamedRanges
  
  aSource = CreateUnoStruct( _
    "com.sun.star.table.CellRangeAddress")
  With aSource
    .Sheet = 0
    .StartColumn = 0
    .EndColumn = 1
    .StartRow = 6
    .EndRow = 8
  End With
  
  oNamedRanges.addNewFromTitles(aSource, _
      com.sun.star.sheet.Border.TOP)
End Sub
}}
**範囲を削除 [#g23da82b]

名前を付けた範囲を削除するにはコンテナ オブジェクトの removeByName メソッドを利用します。
名前を付けた範囲を削除するにはコンテナオブジェクトの removeByName メソッドを利用します。

#code(ob){{
Sub namedrange_5
  oDoc = ThisComponent
  oNamedRanges = oDoc.NamedRanges
  
  sName = "RangeA"
  oNamedRanges.removeByName(sName)
End Sub
}}

**範囲の確認 [#z91ae00b]

コンテナに範囲が含まれるかどうかを hasElements メソッドで、コンテナに特定の名前の範囲が含まれるかどうかを hasByName メソッドで調べられます。
**名前のリスト [#i7e4a1ea]

コンテナに含まれる名前が付けられた範囲の名前と内容をシート セル上に書き出します。
コンテナに含まれる名前が付けられた範囲の名前と内容をシートセル上に書き出します。

#code(ob){{
Sub namedrange_6
  oDoc = ThisComponent
  oNamedRanges = oDoc.NamedRanges
  
  aPosition = CreateUnoStruct( _
    "com.sun.star.table.CellAddress")
  With aPosition
    .Sheet = 0
    .Column = 0
    .Row = 0
  End With
  
  oNamedRanges.outputList(aPosition)
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