Difference between revisions of "EN/Documentation/BASIC Guide/Interface Overview"

From Apache OpenOffice Wiki
Jump to: navigation, search
(New page: {{DISPLAYTITLE: 中央インターフェースの概要}} {{EN/Documentation/BASICGuideTOC/v2 |ShowPrevNext=block |ShowPrevPage=block |PrevPage=Doc...)
 
 
Line 1: Line 1:
{{DISPLAYTITLE:
+
{{DISPLAYTITLE:Presentazione generale di alcune interfacce centrali}}
                   
+
                    中央インターフェースの概要}}
+
 
{{EN/Documentation/BASICGuideTOC/v2
 
{{EN/Documentation/BASICGuideTOC/v2
 
|ShowPrevNext=block
 
|ShowPrevNext=block
Line 10: Line 8:
 
}}
 
}}
 
   
 
   
{{OOo}} のインターフェースの中には、{{OOo}} API の各所で使用されるものが存在します。これらは、各種の処理に利用可\'94\'5cな抽象的タスクを実行する一連のメ\'83\'5cッドを規定しています。ここではこのようなインターフェースのうち、使用頻度の高いものについて、その概要を説明します。
+
Alcune interfacce di {{OOo}} sono reperibili in molte parti dell'API di {{OOo}}. Definiscono gruppi di metodi per le operazioni astratte, applicabili a diversi problemi. Di seguito è fornita una presentazione generale delle più diffuse tra queste interfacce.
  
オブジェクトの出所については、この\'83\'7dニュアルの後半で説明します。ここでは単に、{{OOo}} API が主要なインターフェースを提供するオブジェクトについて、その抽象的な機\'94\'5cのいくつかを簡単に説明するにとどめておきます。
+
L'origine degli oggetti viene invece spiegata in maggiore dettaglio più avanti nel corso del manuale. In questa fase, vengono presentati solo alcuni aspetti astratti degli oggetti per i quali l'API di {{OOo}} fornisce delle interfacce centrali.
  
== コンテキスト依存型オブジェクトの作成 ==
+
== Creazione di oggetti dipendenti dal contesto ==
  
{{OOo}} API でオブジェクトを作成するには、2 通りの方法が存在します。その 1 つは、この章の初めに説明した <tt>createUnoService 関数を使用する方法です。</tt><tt>createUnoService</tt> 関数は、広域的に使用可\'94\'5cなオブジェクトを作成します。このようなオブジェクトやサービスは、コンテキスト非依存型サービスとも呼びます。
+
L'API di {{OOo}} fornisce due opzioni per la creazione di oggetti. Una è reperibile nella funzione <tt>createUnoService</tt> menzionata all'inizio di questo capitolo. <tt>createUnoService</tt> crea un oggetto di uso universale. Questi oggetti e servizi sono
 +
noti anche come servizi indipendenti dal contesto.
  
このようなコンテキスト非依存型サービスに対するものとして、コンテキスト依存型サービス も存在し、この場合のオブジェクトは他のオブジェクトと併用することでのみ使用できます。たとえば、ある\'95\'5c計算ドキュメントに配置された\'90\'7d形描画オブジェクトは、このドキュメントと共存することにより存在できます。
+
Oltre ai servizi indipendenti dal contesto, esistono anche i servizi dipendenti dal contesto, i cui oggetti sono utili solo quando utilizzati assieme a un altro oggetto. Un oggetto disegno per un foglio elettronico, ad esempio, può esistere solo insieme a
 +
questo documento.
  
=== <tt>com.sun.star.lang.XMultiServiceFactory</tt> インターフェース ===
+
===  
 +
                    Interfaccia <tt>com.sun.star.lang.XMultiServiceFactory</tt>===
  
通常、コンテキスト依存型のオブジェクトを作成するには、そのオブジェクトの依存相手のオブジェクトメ\'83\'5cッドを使用します。<tt>createInstance</tt> メ\'83\'5cッドは、<tt>XMultiServiceFactory インターフェースで規定されているもので、主としてドキュメントオブジェクトに対して使用します。</tt>
+
Gli oggetti dipendenti dal contesto sono generalmente creati per mezzo di un metodo dell'oggetto, dal quale dipende l'oggetto. Il metodo <tt>createInstance</tt>, definito nell'interfaccia <tt>XMultiServiceFactory</tt>, è utilizzato in particolare negli oggetti documento.
  
たとえば、先に説明した図形描画オブジェクトを作成するには、以下のサンプルコードのように、オブジェクトとして表計算ドキュメントを使用します。
+
L'oggetto disegno di cui sopra, ad esempio, può essere creato come segue utilizzando un oggetto foglio elettronico:
  
 
<source lang="oobas">
 
<source lang="oobas">
Line 32: Line 33:
 
</source>
 
</source>
  
同様に、文書ドキュメントの段落テンプレートは、以下のサンプルコードのようにして作成します。
+
Analogamente, potete creare un modello di paragrafo in un documento di testo:
  
 
<source lang="oobas">
 
<source lang="oobas">
Line 39: Line 40:
 
</source>
 
</source>
  
== 下位オブジェクトへの名前付きアクセス ==
+
== Accesso con nome ad oggetti subordinati ==
  
下位オブジェクトを持つオブジェクトで自然言語名によるアクセスが可能なものに対しては、<tt>XNameAccess</tt> および <tt>XNameContainer</tt> インターフェースを使用します。
+
Le interfacce <tt>XNameAccess</tt> e <tt>XNameContainer</tt> sono utilizzate negli oggetti che contengono oggetti subordinati, che possono essere identificati utilizzando un nome del linguaggio naturale.
  
このうち <tt>XNamedAccess</tt> は個々のオブジェクトに対してアクセスを行い、<tt>XNameContainer</tt> は各要素の挿入、変更、削除を行います。
+
Mentre <tt>XNamedAccess</tt> consente di accedere ai singoli oggetti, <tt>XNameContainer</tt> esegue l'inserimento, la modifica e l'eliminazione degli elementi.
  
=== <tt>com.sun.star.container.XNameAccess</tt> インターフェース ===
+
===  
 +
                    Interfaccia <tt>com.sun.star.container.XNameAccess</tt>===
  
ここでは <tt>XNameAccess</tt> の使用例として、表計算ドキュメントの表 (シート) オブジェクトを扱う場合を取り上げます。このオブジェクトは\'95\'5c計算ドキュメント内のすべてのページをまとめたものとして扱われます。そのため各ページへのアクセスには、<tt>getByName</tt> <tt>XNameAccess</tt> メソッドを使用します。
+
Un esempio di utilizzo di <tt>XNameAccess</tt> è rappresentato dall'oggetto foglio di un foglio elettronico, che combina tutte le pagine all'interno del foglio elettronico. Alle singole pagine si accede utilizzando il metodo <tt>getByName</tt> da <tt>XNameAccess</tt>:
  
 
<source lang="oobas">
 
<source lang="oobas">
Line 57: Line 59:
 
</source>
 
</source>
  
すべての要素の名前を取得するには、<tt>getElementNames</tt> メソッドを使用します。これを実行すると、該当する名前を収めたデータフィールド (配列) が返されます。以下のサンプルコードは、ループを使用して\'95\'5c計算ドキュメント内のすべての要素名を取得し、\'95\'5c示します。
+
Il metodo <tt>getElementNames</tt> fornisce una presentazione generale dei nomi di tutti gli elementi e restituisce come risultato un campo di dati contenente i nomi. L'esempio seguente mostra come determinare e visualizzare in un ciclo tutti i nomi degli
 +
elementi di un foglio elettronico:
  
 
<source lang="oobas">
 
<source lang="oobas">
Line 72: Line 75:
 
</source>
 
</source>
  
基本オブジェクト内に該当する名前の下位オブジェクトが存在するかを確認するには、<tt>hasByName</tt> インターフェースの <tt>XNameAccess</tt> メソッドを使用します。以下のサンプルコードは、<tt>Spreadsheet</tt> オブジェクトに <tt>Sheet1</tt> という名前のページがあるかを確認して、その結果をメッセージボックスに表示します。
+
Il metodo <tt>hasByName</tt> dell'interfaccia <tt>XNameAccess</tt> rivela se esiste un oggetto subordinato con un particolare nome all'interno dell'oggetto base. L'esempio seguente visualizza quindi un messaggio che informa l'utente se l'oggetto <tt>Spreadsheet</tt> contiene una pagina di nome <tt>Sheet1</tt>.
  
 
<source lang="oobas">
 
<source lang="oobas">
Line 85: Line 88:
 
</source>
 
</source>
  
=== <tt>com.sun.star.container.XNameContainer</tt> インターフェース ===
+
===  
 +
                    Interfaccia <tt>com.sun.star.container.XNameContainer</tt>===
  
基本オブジェクトの下位にある要素に対する挿入、削除、変更を行うには、<tt>XNameContainer</tt> インターフェースを使用します。ここでは、<tt>insertByName</tt><tt>removeByName</tt><tt>replaceByName</tt> の各メソッドを使用できます。
+
L'interfaccia <tt>XNameContainer</tt> esegue l'inserimento, l'eliminazione e la modifica degli elementi subordinati in un oggetto base. Le funzioni responsabili sono <tt>insertByName</tt>, <tt>removeByName</tt> e <tt>replaceByName</tt>.
  
これらは通常、以下のサンプルコードのように使用します。この場合は、文書ドキュメントの <tt>StyleFamilies</tt> オブジェクトを使用して、ドキュメントの段落テンプレート (ParagraphStyles) に対する操作を行なっています。
+
Di seguito viene riportato un esempio pratico di queste operazioni, che richiama un documento di testo contenente un oggetto <tt>StyleFamilies</tt> e lo utilizza per rendere disponibili i modelli di paragrafo (ParagraphStyles) del documento.
  
 
<source lang="oobas">
 
<source lang="oobas">
Line 103: Line 107:
 
</source>
 
</source>
  
ここで <tt>insertByName</tt> の行は、<tt>NewStyle</tt> というスタイルを <tt>ParagraphStyles</tt> オブジェクトと同じ名前で挿入しています。その次の <tt>replaceByName</tt> の行は、<tt>ChangingStyle</tt> で指定するオブジェクトを、<tt>NewStyle</tt> に変更しています。最後に、<tt>removeByName</tt> の行は、<tt>OldStyle</tt> で指定するオブジェクトを、<tt>ParagraphStyles</tt> から削除しています。
+
La riga <tt>insertByName</tt> inserisce lo stile  <tt>NewStyle</tt> sotto al nome dello stesso nome
 +
nell'oggetto <tt>ParagraphStyles</tt>. La riga <tt>replaceByName</tt> modifica l'oggetto dietro a <tt>ChangingStyle</tt> in <tt>NewStyle</tt>. Infine, la chiamata <tt>removeByName</tt> rimuove
 +
l'oggetto dietro ad <tt>OldStyle</tt> da <tt>ParagraphStyles</tt>.
  
== インデックス方式による下位オブジェクトへのアクセス ==
+
== Accesso basato su indice a oggetti subordinati ==
  
下位オブジェクトを持つオブジェクトでインデックスによるアクセスが可能なものに対しては、<tt>XIndexAccess</tt> および <tt>XIndexContainer</tt> インターフェースを使用します。
+
Le interfacce <tt>XIndexAccess</tt> e <tt>XIndexContainer</tt> sono utilizzate negli oggetti che contengono oggetti subordinati e che possono essere identificati utilizzando un indice.
  
<tt>XIndexAccess</tt> には、個々のオブジェクトへアクセスするためのメ\'83\'5cッドが用意されています。<tt>XIndexContainer</tt> には、要素を\'91\'7d入したり削除するためのメ\'83\'5cッドが用意されています。
+
<tt>XIndexAccess</tt> fornisce i metodi per accedere ai singoli oggetti. <tt>XIndexContainer</tt> fornisce i metodi per inserire e rimuovere elementi.
  
=== <tt>com.sun.star.container.XIndexAccess</tt> インターフェース ===
+
===  
 +
                    Interfaccia <tt>com.sun.star.container.XIndexAccess</tt>===
  
<tt>XIndexAccess</tt><tt> を用いて下位オブジェクトへアクセスするには、getByIndex</tt> および <tt>getCount</tt> メ\'83\'5cッドを使用します。<tt>getByIndex</tt>このうち  は、指定したインデックスに該当するオブジェクトを返します。<tt>getCount</tt>同様に  は、使用可\'94\'5cなオブジェクト数を返します。
+
<tt>XIndexAccess</tt> fornisce i metodi <tt>getByIndex</tt> e <tt>getCount</tt> per richiamare gli oggetti subordinati. <tt>getByIndex</tt> fornisce un oggetto con un indice specifico. <tt>getCount</tt> restituisce il numero di oggetti disponibili.
  
 
<source lang="oobas">
 
<source lang="oobas">
Line 128: Line 135:
 
</source>
 
</source>
  
このサンプルコードでは、ループを使用して個々の表 (シート) 要素にアクセスし、各要素をオブジェクト変数 <tt>Sheet</tt> に取得しています。<tt>getCount は正味の要素数を返すため、インデックスによるアクセスを行う場合、その扱いには注意が必要です。</tt>これは、<tt>getByIndex に指定するインデックスは、0 から始まるものとして処理されるためです。</tt>このため、ループカウンタの指定は 0 から <tt>getCount()-1</tt> などのように記述する必要があります。
+
L'esempio mostra un ciclo che viene eseguito attraverso tutti gli elementi del foglio, uno dopo l'altro, e salva un riferimento verso ciascuno nella variabile oggetto <tt>Sheet</tt>. Quando si lavora con gli indici,  <tt>getCount</tt> restituisce il numero di elementi. Gli elementi in <tt>getByIndex</tt> sono tuttavia numerati a partire da 0. La variabile conteggio del ciclo pertanto esegue da 0 a <tt>getCount()-1</tt>.
  
=== <tt>com.sun.star.container.XIndexContainer</tt> インターフェース ===
+
===  
 +
                    Interfaccia <tt>com.sun.star.container.XIndexContainer</tt>===
  
<tt>XIndexContainer</tt> インターフェースにより、関数 <tt>insertByIndex</tt> および <tt>removeByIndex</tt> が使用できます。これらに指定するパラメータは、<tt>XNameContainer の該当するメソッドと同様の構成になっています。</tt>
+
L'interfaccia <tt>XIndexContainer</tt> fornisce le funzioni <tt>insertByIndex</tt> e <tt>removeByIndex</tt>. I parametri sono strutturati nello stesso modo delle funzioni corrispondenti in <tt>XNameContainer</tt>.
  
== 下位オブジェクトへの反復アクセス ==
+
== Accesso iterativo ad oggetti subordinati ==
  
インスタンスによっては、名前やインデックスではアクセスできない下位オブジェクトを持つオブジェクトが存在します。このような場合は、<tt>XEnumeration</tt> および <tt>XenumerationAccess インターフェースを使用します。</tt>これらを用いると、直接アドレスを指定することなく、各オブジェクトに存在するすべての下位要素にアクセスできます。
+
In alcuni casi, un oggetto può contenere un elenco di oggetti subordinati non identificabili tramite un nome o un indice. In queste situazioni, sono idonee le
 +
interfacce <tt>XEnumeration</tt> e <tt>XenumerationAccess</tt>, che forniscono un meccanismo tramite il quale è possibile passare passo per passo tutti gli elementi
 +
subordinati di un oggetto, senza dover utilizzare l'identificazione diretta.
  
=== <tt>com.sun.star.container.XEnumeration</tt> および <tt>XenumerationAccess</tt> インターフェース ===
+
===  
 +
                    Interfacce <tt>com.sun.star.container.XEnumeration</tt> e <tt>XenumerationAccess</tt>===
  
基\'96\'7bオブジェクトには <tt>XEnumerationAccess</tt> インターフェースが用意されていますが、このインターフェースからは <tt>createEnumeration</tt> メ\'83\'5cッドのみが使用できます。これを使用して得られる補助オブジェクトには、<tt>XEnumeration</tt> <tt>hasMoreElements</tt> メ\'83\'5cッドを持つ <tt>nextElement インターフェースが用意されています。</tt>下位オブジェクトのアクセスには、これらのメ\'83\'5cッドを使用します。
+
L'oggetto base deve fornire l'interfaccia <tt>XEnumerationAccess</tt>, che contiene solo un metodo <tt>createEnumeration</tt>. Questo restituisce un oggetto ausiliario, che a sua
 +
volta fornisce l'interfaccia <tt>XEnumeration</tt> con i metodi <tt>hasMoreElements</tt> e <tt>nextElement</tt>. Attraverso di essi è possibile accedere agli oggetti subordinati.
  
以下のサンプルコードは、文書ドキュメント上のすべての段落にアクセスします。
+
L'esempio seguente attraversa tutti i paragrafi di un testo:
  
 
<source lang="oobas">
 
<source lang="oobas">
Line 155: Line 167:
 
</source>
 
</source>
  
上記のサンプルコードでは、最初に <tt>ParagraphEnumeration</tt> という名前で補助オブジェクトを作成しています。そしてループに入り、この補助オブジェクトを用いて、文章中の各段落に順次アクセスします。テキストの末尾に到達すると <tt>hasMoreElements</tt> メ\'83\'5cッドは <tt>False 値を返すため、これをループの終了条件に利用します。</tt>
+
L'esempio crea prima un oggetto ausiliario <tt>ParagraphEnumeration</tt>. Questo restituisce gradualmente i singoli paragrafi del testo in un ciclo. Il ciclo viene terminato non appena il metodo <tt>hasMoreElements</tt> restituisce il valore <tt>False</tt>, che segnala il raggiungimento della fine del testo.
  
 
{{PDL1}}
 
{{PDL1}}
 
{{InterWiki_Languages_BasicGuide|articletitle=Documentation/BASIC Guide/Interface Overview}}
 
{{InterWiki_Languages_BasicGuide|articletitle=Documentation/BASIC Guide/Interface Overview}}

Latest revision as of 18:20, 25 June 2009

Template:EN/Documentation/BASICGuideTOC/v2

Alcune interfacce di Apache OpenOffice sono reperibili in molte parti dell'API di Apache OpenOffice. Definiscono gruppi di metodi per le operazioni astratte, applicabili a diversi problemi. Di seguito è fornita una presentazione generale delle più diffuse tra queste interfacce.

L'origine degli oggetti viene invece spiegata in maggiore dettaglio più avanti nel corso del manuale. In questa fase, vengono presentati solo alcuni aspetti astratti degli oggetti per i quali l'API di Apache OpenOffice fornisce delle interfacce centrali.

Creazione di oggetti dipendenti dal contesto

L'API di Apache OpenOffice fornisce due opzioni per la creazione di oggetti. Una è reperibile nella funzione createUnoService menzionata all'inizio di questo capitolo. createUnoService crea un oggetto di uso universale. Questi oggetti e servizi sono noti anche come servizi indipendenti dal contesto.

Oltre ai servizi indipendenti dal contesto, esistono anche i servizi dipendenti dal contesto, i cui oggetti sono utili solo quando utilizzati assieme a un altro oggetto. Un oggetto disegno per un foglio elettronico, ad esempio, può esistere solo insieme a questo documento.

=

                   Interfaccia com.sun.star.lang.XMultiServiceFactory===

Gli oggetti dipendenti dal contesto sono generalmente creati per mezzo di un metodo dell'oggetto, dal quale dipende l'oggetto. Il metodo createInstance, definito nell'interfaccia XMultiServiceFactory, è utilizzato in particolare negli oggetti documento.

L'oggetto disegno di cui sopra, ad esempio, può essere creato come segue utilizzando un oggetto foglio elettronico:

Dim RectangleShape As Object
RectangleShape = _
  Spreadsheet.createInstance("com.sun.star.drawing.RectangleShape")

Analogamente, potete creare un modello di paragrafo in un documento di testo:

Dim Style as Object
Style = Textdocument.createInstance("com.sun.star.style.ParagraphStyle")

Accesso con nome ad oggetti subordinati

Le interfacce XNameAccess e XNameContainer sono utilizzate negli oggetti che contengono oggetti subordinati, che possono essere identificati utilizzando un nome del linguaggio naturale.

Mentre XNamedAccess consente di accedere ai singoli oggetti, XNameContainer esegue l'inserimento, la modifica e l'eliminazione degli elementi.

=

                   Interfaccia com.sun.star.container.XNameAccess===

Un esempio di utilizzo di XNameAccess è rappresentato dall'oggetto foglio di un foglio elettronico, che combina tutte le pagine all'interno del foglio elettronico. Alle singole pagine si accede utilizzando il metodo getByName da XNameAccess:

Dim Sheets As Object
Dim Sheet As Object
 
Sheets = Spreadsheet.Sheets
Sheet = Sheets.getByName("Sheet1")

Il metodo getElementNames fornisce una presentazione generale dei nomi di tutti gli elementi e restituisce come risultato un campo di dati contenente i nomi. L'esempio seguente mostra come determinare e visualizzare in un ciclo tutti i nomi degli elementi di un foglio elettronico:

Dim Sheets As Object
Dim SheetNames
Dim I As Integer
 
Sheets = Spreadsheet.Sheets
SheetNames = Sheets.getElementNames
 
For I=LBound(SheetNames) To UBound(SheetNames)
  MsgBox SheetNames(I)
Next I

Il metodo hasByName dell'interfaccia XNameAccess rivela se esiste un oggetto subordinato con un particolare nome all'interno dell'oggetto base. L'esempio seguente visualizza quindi un messaggio che informa l'utente se l'oggetto Spreadsheet contiene una pagina di nome Sheet1.

Dim Sheets As Object
 
Sheets = Spreadsheet.Sheets
If Sheets.HasByName("Sheet1") Then
  MsgBox " Sheet1 available"
Else
  MsgBox "Sheet1 not available"
End If

=

                   Interfaccia com.sun.star.container.XNameContainer===

L'interfaccia XNameContainer esegue l'inserimento, l'eliminazione e la modifica degli elementi subordinati in un oggetto base. Le funzioni responsabili sono insertByName, removeByName e replaceByName.

Di seguito viene riportato un esempio pratico di queste operazioni, che richiama un documento di testo contenente un oggetto StyleFamilies e lo utilizza per rendere disponibili i modelli di paragrafo (ParagraphStyles) del documento.

Dim StyleFamilies As Object
Dim ParagraphStyles As Object
Dim NewStyle As Object   
 
StyleFamilies = Textdoc.StyleFamilies
ParagraphStyles = StyleFamilies.getByName("ParagraphStyles")
ParagraphStyles.insertByName("NewStyle", NewStyle)      
ParagraphStyles.replaceByName("ChangingStyle", NewStyle)   
ParagraphStyles.removeByName("OldStyle")

La riga insertByName inserisce lo stile NewStyle sotto al nome dello stesso nome nell'oggetto ParagraphStyles. La riga replaceByName modifica l'oggetto dietro a ChangingStyle in NewStyle. Infine, la chiamata removeByName rimuove l'oggetto dietro ad OldStyle da ParagraphStyles.

Accesso basato su indice a oggetti subordinati

Le interfacce XIndexAccess e XIndexContainer sono utilizzate negli oggetti che contengono oggetti subordinati e che possono essere identificati utilizzando un indice.

XIndexAccess fornisce i metodi per accedere ai singoli oggetti. XIndexContainer fornisce i metodi per inserire e rimuovere elementi.

=

                   Interfaccia com.sun.star.container.XIndexAccess===

XIndexAccess fornisce i metodi getByIndex e getCount per richiamare gli oggetti subordinati. getByIndex fornisce un oggetto con un indice specifico. getCount restituisce il numero di oggetti disponibili.

Dim Sheets As Object
Dim Sheet As Object
Dim I As Integer
 
Sheets = Spreadsheet.Sheets
 
For I = 0 to Sheets.getCount() - 1
  Sheet = Sheets.getByIndex(I)
  ' Editing sheet
Next I

L'esempio mostra un ciclo che viene eseguito attraverso tutti gli elementi del foglio, uno dopo l'altro, e salva un riferimento verso ciascuno nella variabile oggetto Sheet. Quando si lavora con gli indici, getCount restituisce il numero di elementi. Gli elementi in getByIndex sono tuttavia numerati a partire da 0. La variabile conteggio del ciclo pertanto esegue da 0 a getCount()-1.

=

                   Interfaccia com.sun.star.container.XIndexContainer===

L'interfaccia XIndexContainer fornisce le funzioni insertByIndex e removeByIndex. I parametri sono strutturati nello stesso modo delle funzioni corrispondenti in XNameContainer.

Accesso iterativo ad oggetti subordinati

In alcuni casi, un oggetto può contenere un elenco di oggetti subordinati non identificabili tramite un nome o un indice. In queste situazioni, sono idonee le interfacce XEnumeration e XenumerationAccess, che forniscono un meccanismo tramite il quale è possibile passare passo per passo tutti gli elementi subordinati di un oggetto, senza dover utilizzare l'identificazione diretta.

=

                   Interfacce com.sun.star.container.XEnumeration e XenumerationAccess===

L'oggetto base deve fornire l'interfaccia XEnumerationAccess, che contiene solo un metodo createEnumeration. Questo restituisce un oggetto ausiliario, che a sua volta fornisce l'interfaccia XEnumeration con i metodi hasMoreElements e nextElement. Attraverso di essi è possibile accedere agli oggetti subordinati.

L'esempio seguente attraversa tutti i paragrafi di un testo:

Dim ParagraphEnumeration As Object
Dim Paragraph As Object
 
ParagraphEnumeration = Textdoc.Text.createEnumeration
 
While ParagraphEnumeration.hasMoreElements()
  Paragraph = ParagraphEnumeration.nextElement()
Wend

L'esempio crea prima un oggetto ausiliario ParagraphEnumeration. Questo restituisce gradualmente i singoli paragrafi del testo in un ciclo. Il ciclo viene terminato non appena il metodo hasMoreElements restituisce il valore False, che segnala il raggiungimento della fine del testo.

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