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

From Apache OpenOffice Wiki
Jump to: navigation, search
(New page: {{DISPLAYTITLE:Universal Network Objects (UNO)}} {{JA/Documentation/BASICGuideTOC/v2 |ShowPrevNext=block |ShowPrevPage=block |PrevPage=Documentation/BASIC Guide/API Intro |NextPage=Documen...)
 
 
(6 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 でUniversal Network Object を使用するにあたっては、使用するオブジェクトに対応した変数宣言が必要です。この宣言は <tt>Dim</tt> 命令で実行します (詳細は[[Documentation/BASIC Guide/Language|{{OOo}} Basic のプログラミング言語」]]を参照)。オブジェクトを宣言する際には、宣言型に <tt>Object</tt> を指定します。
+
{{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><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> サービスをサポートしたオブジェクトを作成しましたが、このオブジェクトもその他のサービスとして、ドキュメント読み込み用およびプログラム終了用のサービスをサポートしています。
  
{{Documentation/Note|VBA のオブジェクト構造は、所属するクラスにより定義しますが、{{OOo}} Basic のオブジェクト構造は、サポートするサービスにより定義します。VBA のオブジェクトは、常に 1 つのクラスに対して割り当てられます。これに対して、{{OOo}} Basic のオブジェクトは複数のサービスをサポートできます。}}
+
{{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

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

Documentation note.png VBA のオブジェクト構造は、所属するクラスにより定義しますが、Apache OpenOffice Basic のオブジェクト構造は、サポートするサービスにより定義します。VBA のオブジェクトは、常に 1 つのクラスに対して割り当てられます。これに対して、Apache OpenOffice Basic のオブジェクトは複数のサービスをサポートできます。


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