Difference between revisions of "JA/Documentation/BASIC Guide/Structure of Spreadsheets"
Line 65: | Line 65: | ||
「[[JA/Documentation/BASIC Guide/API Intro|API について]]」で説明したように、<tt>getByName</tt> および <tt>insertByName</tt> メソッドは <idl>com.sun.star.container.XnameContainer</idl> インターフェースから提供されています。 | 「[[JA/Documentation/BASIC Guide/API Intro|API について]]」で説明したように、<tt>getByName</tt> および <tt>insertByName</tt> メソッドは <idl>com.sun.star.container.XnameContainer</idl> インターフェースから提供されています。 | ||
+ | |||
{{PDL1}} | {{PDL1}} | ||
− | |||
{{InterWiki_Languages_BasicGuide|articletitle=Documentation/BASIC Guide/Structure of Spreadsheets}} | {{InterWiki_Languages_BasicGuide|articletitle=Documentation/BASIC Guide/Structure of Spreadsheets}} |
Revision as of 16:49, 15 December 2008
表計算ドキュメントのドキュメントオブジェクトは、com.sun.star.sheet.SpreadsheetDocument サービスをベースにしています。通常これらのドキュメントには、複数の表 (スプレッドシート) があります。マニュアルで使う用語として、表計算ドキュメント は 1 つのドキュメント全体を意味するものとし、スプレッドシート (略称: シート) は各ドキュメントを構成する個々の表 (テーブル) を意味するものとします。
スプレッドシート
表計算ドキュメントの各シートにアクセスするには、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 メソッドにシート名を指定してアクセスしています。
getByName メソッドで取得される Sheet というオブジェクトは、com.sun.star.sheet.Spreadsheet サービスをサポートしています。このサービスは、シート編集用の各種インターフェースを提供するもので、次の属性を利用できます。
- IsVisible (Boolean)
- スプレッドシートを表示する指定。
- PageStyle (String)
- スプレッドシート用のページテンプレートの名前。
シートの作成、削除、名前の変更
spreadsheet ドキュメントの Sheets リストは、個々のシートの作成、削除、名前の変更にも使用します。次のサンプルコードでは、hasByName メソッドを用いて 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
「API について」で説明したように、getByName および insertByName メソッドは com.sun.star.container.XnameContainer インターフェースから提供されています。
Content on this page is licensed under the Public Documentation License (PDL). |