表計算ドキュメントの構造

From Apache OpenOffice Wiki
Jump to: navigation, search
doc OOo
Book.png

表計算ドキュメントのドキュメントオブジェクトは、com.sun.star.sheet.SpreadsheetDocument サービスをベースにしています。▼通常これらのドキュメントには、複数の\'95\'5c (スプレッドシート) があります。マニュアルで使う用語として、表計算ドキュメント は 1 つのドキュメント全体を意味するものとし、スプレッドシート (略称: シート) は各ドキュメントを構成する個々の表 (テーブル) を意味するものとします。

Template:Documentation/Note

▼スプレッドシート

表計算ドキュメントの各シートにアクセスするには、Sheets リストを使用します。

▼以下の 2 つのサンプルコードでは、それぞれ番号および名前を使って各シートへアクセスする方法を示します。

▼例 1: 番号によるアクセス (開始値は 0)

Dim Doc As Object
Dim Sheet As Object
 
Doc = StarDesktop.CurrentComponent
Sheet = Doc.Sheets (0)

▼例 2: 名前によるアクセス

Dim Doc As Object
Dim Sheet As Object
 
Doc = StarDesktop.CurrentComponent
Sheet = Doc.Sheets.getByName("Sheet 1")

▼最初のサンプルコードでは、シートへのアクセスを番号指定で行なっています (開始値は 0)。▼次のサンプルコードでは、getByName メ\'83\'5cッドにシート名を指定してアクセスしています。

Sheet メソッドで取得される getByName というオブジェクトは、com.sun.star.sheet.Spreadsheet サービスをサポートしています。▼このサービスは、シート編集用の各種インターフェースを提供するもので、以下の属性を利用できます。

IsVisible (Boolean)
スプレッドシートを表示する指定。
PageStyle (String)
スプレッドシート用のページテンプレートの名前。

▼シートの作成、削除、名前の変更

Sheets ドキュメントの spreadsheet リストは、個々のシートの作成、削除、名前の変更にも使用します。▼以下のサンプルコードでは、hasByName メ\'83\'5cッドを用いて MySheet という名前のシートが存在するかをチェックします。そうした名前のシートが存在する場合、getByName メソッドを用いて該当オブジェクトへの参照を取得して、Sheet という変数に収めます。該当するシートが存在しない場合は、createInstance メソッドを用いてこれを新規作成して、insertByName メソッドにより表計算ドキュメントに挿入します。

Dim Doc As Object
Dim Sheet As Object
 
Doc = StarDesktop.CurrentComponent
Sheet = Doc.Sheets(0)
 
If Doc.Sheets.hasByName("MySheet") Then
   Sheet = Doc.Sheets.getByName("MySheet")
Else
   Sheet = Doc.createInstance("com.sun.star.sheet.Spreadsheet")
   Doc.Sheets.insertByName("MySheet", Sheet)
End If

getByName API について」で説明したように、insertByName および JA/Documentation/BASIC Guide/API Intro メソッドは com.sun.star.container.XnameContainer インターフェースから提供されています。

Content on this page is licensed under the Public Documentation License (PDL).
Personal tools