Difference between revisions of "JA/Documentation/BASIC Guide/UNO"
(3 intermediate revisions by one other user not shown) | |||
Line 3: | Line 3: | ||
|ShowPrevNext=block | |ShowPrevNext=block | ||
|ShowPrevPage=block | |ShowPrevPage=block | ||
− | |PrevPage=Documentation/BASIC Guide/API Intro | + | |PrevPage=JA/Documentation/BASIC Guide/API Intro |
− | |NextPage=Documentation/BASIC Guide/Properties and Methods (API) | + | |NextPage=JA/Documentation/BASIC Guide/Properties and Methods (API) |
|api=block | |api=block | ||
}} | }} | ||
Line 12: | Line 12: | ||
{{OOo}} Basic は手続き型のプログラミング言語であるため、UNO の導入に伴い、いくつかの機能が追加されています。 | {{OOo}} Basic は手続き型のプログラミング言語であるため、UNO の導入に伴い、いくつかの機能が追加されています。 | ||
− | {{OOo}} Basic | + | {{OOo}} Basic で Universal Network Object を使用するにあたっては、使用するオブジェクトに対応した変数宣言が必要です。この宣言は <tt>Dim</tt> 命令で実行します (詳細は「[[JA/Documentation/BASIC Guide/Language|{{OOo}} Basic プログラミング用の言語]]」を参照)。オブジェクトを宣言する際には、宣言型に <tt>Object</tt> を指定します。 |
<source lang="oobas"> | <source lang="oobas"> | ||
Line 26: | Line 26: | ||
</source> | </source> | ||
− | 上記のサンプルコードの場合、新規作成したオブジェクトへの参照情報を変数 <tt>Obj</tt> へ割り当てています。<tt>com.sun.star.frame.Desktop</tt> | + | 上記のサンプルコードの場合、新規作成したオブジェクトへの参照情報を変数 <tt>Obj</tt> へ割り当てています。<tt>com.sun.star.frame.Desktop</tt> はいわゆるオブジェクト型に類似したものですが、UNO の用語ではこのようなものを「型」ではなく「サービス」と呼んでいます。UNO の流儀に従えば、上記の Obj は「<idl>com.sun.star.frame.Desktop</idl> サービスをサポートしたオブジェクトに対する参照」と表現できます。つまり {{OOo}} Basic で使われる「サービス」という用語は、他の言語で言う「型 (タイプ)」や「クラス」に該当します。 |
ただし Universal Network Object の持つ大きな特徴として、複数のサービスを同時にサポートできる点があります。このため UNO のサービスの中には他のサービスをサポートしているものが存在し、1 つのオブジェクトで複数のサービスを扱うケースがあります。たとえば先のサンプルコードでは <idl>com.sun.star.frame.Desktop</idl> サービスをサポートしたオブジェクトを作成しましたが、このオブジェクトもその他のサービスとして、ドキュメント読み込み用およびプログラム終了用のサービスをサポートしています。 | ただし Universal Network Object の持つ大きな特徴として、複数のサービスを同時にサポートできる点があります。このため UNO のサービスの中には他のサービスをサポートしているものが存在し、1 つのオブジェクトで複数のサービスを扱うケースがあります。たとえば先のサンプルコードでは <idl>com.sun.star.frame.Desktop</idl> サービスをサポートしたオブジェクトを作成しましたが、このオブジェクトもその他のサービスとして、ドキュメント読み込み用およびプログラム終了用のサービスをサポートしています。 | ||
− | {{ | + | {{Note|VBA のオブジェクト構造は、所属するクラスにより定義しますが、{{OOo}} Basic のオブジェクト構造は、サポートするサービスにより定義します。VBA のオブジェクトは、常に 1 つのクラスに対して割り当てられます。これに対して、{{OOo}} Basic のオブジェクトは複数のサービスをサポートできます。}} |
+ | |||
{{PDL1}} | {{PDL1}} | ||
{{InterWiki_Languages_BasicGuide|articletitle=Documentation/BASIC Guide/UNO}} | {{InterWiki_Languages_BasicGuide|articletitle=Documentation/BASIC Guide/UNO}} |
Latest revision as of 14:01, 6 July 2018
- Universal Network Objects (UNO)
- プロパティーとメソッド (API)
- モジュール、サービス、インターフェース
- UNO の関連ツール
- 中央インターフェースの概要
Apache OpenOffice には Universal Network Objects (UNO) という形式のプログラミングインターフェースが用意されています。これはオブジェクト指向型のプログラミングインターフェースであり、Apache OpenOffice の場合、プログラム内から行う Office パッケージへのアクセスのタイプごとに細分化されています。
Apache OpenOffice Basic は手続き型のプログラミング言語であるため、UNO の導入に伴い、いくつかの機能が追加されています。
Apache OpenOffice Basic で Universal Network Object を使用するにあたっては、使用するオブジェクトに対応した変数宣言が必要です。この宣言は Dim 命令で実行します (詳細は「Apache OpenOffice Basic プログラミング用の言語」を参照)。オブジェクトを宣言する際には、宣言型に Object を指定します。
Dim Obj As Object
たとえば上記のサンプルコードは、Obj という名前のオブジェクトを宣言しています。
新規作成したオブジェクト変数は、使用する前に初期化する必要があります。このような処理には、createUnoService 関数を使用します。
Obj = createUnoService("com.sun.star.frame.Desktop")
上記のサンプルコードの場合、新規作成したオブジェクトへの参照情報を変数 Obj へ割り当てています。com.sun.star.frame.Desktop はいわゆるオブジェクト型に類似したものですが、UNO の用語ではこのようなものを「型」ではなく「サービス」と呼んでいます。UNO の流儀に従えば、上記の Obj は「com.sun.star.frame.Desktop サービスをサポートしたオブジェクトに対する参照」と表現できます。つまり Apache OpenOffice Basic で使われる「サービス」という用語は、他の言語で言う「型 (タイプ)」や「クラス」に該当します。
ただし Universal Network Object の持つ大きな特徴として、複数のサービスを同時にサポートできる点があります。このため UNO のサービスの中には他のサービスをサポートしているものが存在し、1 つのオブジェクトで複数のサービスを扱うケースがあります。たとえば先のサンプルコードでは com.sun.star.frame.Desktop サービスをサポートしたオブジェクトを作成しましたが、このオブジェクトもその他のサービスとして、ドキュメント読み込み用およびプログラム終了用のサービスをサポートしています。
VBA のオブジェクト構造は、所属するクラスにより定義しますが、Apache OpenOffice Basic のオブジェクト構造は、サポートするサービスにより定義します。VBA のオブジェクトは、常に 1 つのクラスに対して割り当てられます。これに対して、Apache OpenOffice Basic のオブジェクトは複数のサービスをサポートできます。 |
Content on this page is licensed under the Public Documentation License (PDL). |