Difference between revisions of "JA/Documentation/BASIC Guide/UNO"

From Apache OpenOffice Wiki
Jump to: navigation, search
Line 12: Line 12:
 
{{OOo}} Basic は手続き型のプログラミング言語であるため、UNO の導入に伴い、いくつかの機能が追加されています。
 
{{OOo}} Basic は手続き型のプログラミング言語であるため、UNO の導入に伴い、いくつかの機能が追加されています。
  
{{OOo}} Basic でUniversal Network Object を使用するにあたっては、使用するオブジェクトに対応した変数宣言が必要です。この宣言は <tt>Dim</tt> 命令で実行します (詳細は「[[Documentation/BASIC Guide/Language|{{OOo}} Basic のプログラミング言語]]」を参照)。オブジェクトを宣言する際には、宣言型に <tt>Object</tt> を指定します。
+
{{OOo}} Basic で Universal Network Object を使用するにあたっては、使用するオブジェクトに対応した変数宣言が必要です。この宣言は <tt>Dim</tt> 命令で実行します (詳細は「[[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><Check Alignment of PHs>また  はいわゆるオブジェクト型に類似したものですが、UNO の用語ではこのようなものを「型」ではなく「サービス」と呼んでいます。UNO の流儀に従えば、上記の Obj は「<idl>com.sun.star.frame.Desktop</idl> サービスをサポートしたオブジェクトに対する参照」と表現できます。つまり {{OOo}} Basic で使われる「サービス」という用語は、他の言語で言う「型 (タイプ)」や「クラス」に該当します。
+
上記のサンプルコードの場合、新規作成したオブジェクトへの参照情報を変数 <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> サービスをサポートしたオブジェクトを作成しましたが、このオブジェクトもその他のサービスとして、ドキュメント読み込み用およびプログラム終了用のサービスをサポートしています。

Revision as of 13:54, 9 December 2008

doc OOo
Book.png

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 サービスをサポートしたオブジェクトを作成しましたが、このオブジェクトもその他のサービスとして、ドキュメント読み込み用およびプログラム終了用のサービスをサポートしています。

Template:Documentation/Note

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