GetObject 関数 (LotusScript 言語)

アプリケーションファイルに入っている OLE オートメーションオブジェクトを開くか、指定されたクラスで現在アクティブな OLE オートメーションオブジェクトを返します。

注: GetObject ステートメントは OS/2 や UNIX では使用できません。Macintosh の場合は、OLE サポートがインストールされていればサポートされます。

構文

GetObject ( [pathName] [ , className ] )

要素

pathName

アプリケーションファイルの完全パスとファイル名を含む文字列、または空の文字列です。アプリケーションで OLE オートメーションがサポートされている必要があります。pathName が空の文字列 ("") である場合、または指定されていない場合、className を指定しなければなりません。

className

クラスが定義されているアプリケーションと取得するオブジェクトのクラスを識別する appName.appClass 形式の文字列です (WordPro.Application など)。

appName は、OLE オートメーションがサポートされるアプリケーションの名前です。appClass は、インスタンスを取得するクラスの名前です。

戻り値

GetObject は OLE オートメーションオブジェクトの参照を返します。

使用法

Set ステートメントを使用して、GetObject から返されるオブジェクト参照を Variant 型の変数に代入します。

appName で指定されたアプリケーションが実行されていない場合、GetObject はそれを起動してから OLE オートメーションオブジェクトを取得します。アプリケーションの実行中は、オブジェクトへの参照が有効になっています。オブジェクト参照を使用している間にアプリケーションが終了すると、ランタイムエラーとなります。

pathName が空の文字列 ("") である場合、または指定されていない場合、GetObject は指定されたクラスで現在アクティブなオブジェクトを取得します。そのクラスにアクティブなオブジェクトがないと、エラーとなります。

className を省略すると、GetObject は実行するアプリケーションと取得するオブジェクトを pathName に基づいて決定します。この形式の GetObject が便利なのは、アプリケーションファイルにオブジェクトが 1 つ入っているときだけです。

OLE オートメーションを使用できる各製品には、1 つ以上のクラスがあります。詳しくは、製品のマニュアルを参照してください。

LotusScript® では、OLE プロパティとメソッドのために次の戻り値の型がサポートされます。「OLE 専用」と示された型を返せるのは、OLE メソッドやプロパティだけです。

OLE の戻り値の型

説明

VT_EMPTY

(データなし)

VT_NULL

(データなし)

VT_I2

2 バイトの符号付き integer 型

VT_I4

4 バイトの符号付き integer 型

VT_R4

4 バイトの実数

VT_R8

8 バイトの実数

VT_CY

Currency 型

VT_DATE

Date

VT_BSTR

String

VT_DISPATCH

IDispatch 型、OLE 専用

VT_ERROR

Error 型、OLE 専用

VT_BOOL

Boolean 型

VT_DECIMAL

Double 型に変換された Decimal 型

VT_VARIANT

(他の型のデータへの参照)

VT_UNKNOWN

IUnknown 型、OLE 専用

VT_ARRAY

(他の型のデータの配列)

注: appName で指定されたアプリケーションが単一インスタンスオブジェクトとして登録されている場合は、GetObject でエラーが発生するため、CreateObject を呼び出してそのオブジェクトを取得します。これは Visual Basic と異なる点です。Visual Basic では、GetObject を呼び出す際に第 1 パラメータに空の文字列を指定すると、GetObject が CreateObject と同じように動作します。

ForAll ループを使用して、OLE コレクションのメンバを繰り返し操作できます。

LotusScript では、OLE プロパティに引数を渡すことができます。以下に例を示します。

' Set v.prop to 4; v.prop takes two arguments.
v.prop(arg1, arg2) = 4

LotusScript では、OLE メソッドやプロパティの引数について、表示順序ではなく名前による識別はできません。また、OLE 名だけを使用して (明示的なプロパティを使用しないで) 既定のプロパティを識別することはできません。

OLE メソッドやプロパティに対する引数が、参照渡しされる boolean、byte、date の各データ型である場合は、引数の結果が不特定になります。LotusScript ではこれらのデータ型をサポートしていません。

GetObject という語は LotusScript のキーワードではありません。