Macros/Calc/ba021
Appearance
TDF LibreOffice Document Liberation Project Community Blogs Weblate Nextcloud Redmine Ask LibreOffice Donate
概要
このページでは、ラベルから名前付き範囲を作成する LibreOffice Basic マクロを提供します。これは、7.0 Calc ガイドの第13章 ("Calc as a Database"(データベースとしてのCalc))から抜粋した例です。
説明
名前を適用ダイアログ(メニューバーで
▸ ▸ を選択してアクセス)を使用するほかに、マクロメソッド addNewFromTitles を使用して、ラベルから名前付き範囲を生成できます。- addNewFromTitles(Source, Border)
- 列または行のヘッダーから名前付き範囲を作成します。このメソッドには、次の2つの引数があります。
- Source – 作成する名前付き範囲のセル範囲アドレス。
- Border – 見出し(ヘッダーラベル)の位置を指定する列挙値です。この列挙には、次の表に示す4つの値のいずれかが含まれます。
列挙子 | 説明 (見出しの位置) |
---|---|
TOP | 上部に見出しがある場合 |
BOTTOM | 下部に見出しがある場合 |
RIGHT | 右側に見出しがある場合 |
LEFT | 左側に見出しがある場合 |
次のマクロは、セル範囲 A1:C20 の一番上の列の見出しを使用して 3つの名前付き範囲を作成します。作成された範囲は、名前の管理ダイアログに一覧表示されます。このダイアログにアクセスするには、メニューバーで ▸ ▸ を選択するか、Ctrl+F3 を押します。
Code
Sub AddManyNamedRanges()
Dim oSheet '指定するセル範囲を含むシート
Dim oAddress '範囲のアドレス
Dim oRanges '名前付き範囲のプロパティ
Dim oRange '一つのセル範囲
oRanges = ThisComponent.NamedRanges
oSheet = ThisComponent.getSheets().getByIndex(0)
oRange = oSheet.getCellRangeByName("A1:C20")
oAddress = oRange.getRangeAddress()
oRanges.addNewFromTitles(oAddress, com.sun.star.sheet.Border.TOP)
End Sub
この Calc ファイル には、上記の LibreOffice Basic コードが含まれています。