OLE を使用する

Notes クライアントは OLE オートメーションコントローラーでありサーバーです。

注: この機能は OS/2、UNIX、Macintosh ではサポートされていません。

OLE オートメーションコントローラ

Notes は OLE オートメーションコントローラーです。LotusScript® の GetObject 関数を使用して OLE オートメーションオブジェクトを開き、CreateObject 関数を使用して OLE オートメーションオブジェクトを作成できます。NotesUIDocument クラスの CreateObjectGetObject の各メソッドも使用できます。

OLE オートメーションサーバー

Notes は OLE オートメーションサーバーとして登録されています。次の OLE オートメーションオブジェクトを提供します。

  • Notes.NotesUIWorkspace で Domino UI オブジェクトにアクセスできます。
  • Notes.NotesSession で Domino オブジェクト (バックエンドオブジェクト) にアクセスできます。

外部アプリケーションはオートメーションオブジェクトを作成し参照できます。さらにオブジェクトの階層にそって処理できます。例えば Visual Basic アプリケーションには次のようなコードを設定できます。

Set workspace = CreateObject("Notes.NotesUIWorkspace")
Set doc = workspace.CurrentDocument

または:

Set session = CreateObject("Notes.NotesSession")
Messagebox session.UserName

Notes クライアントが Visual Basic プログラムと同じコンピュータにインストールされている必要があります。Notes は、OLE オートメーションサーバーとして機能しているときは別のプロセスとして実行されます。

OLE オートメーションはレイトバインディングを使用しています。LotusScript のように、新しい Domino オブジェクトは作成できません。(例えば CreateObject を使用した場合) Notes.NotesUIWorkspace または Notes.NotesSession オブジェクトを作成し、有効なメソッドを使用して階層にそって処理していかなければなりません。例えば、Domino のバックエンドのデータベースを開きたいとします。この場合、まず Notes.NotesSession OLE オートメーションオブジェクトを作成し、次に NotesSession クラスの GetDatabase メソッドを使用して参照変数を設定します。

Visual Basic では、すべての Domino オブジェクトの参照変数を Object 型として宣言します。Domino オブジェクトを使用し終わったら、参照変数に Nothing をセットし、使用していたメモリを開放します。

オブジェクトのプロパティとメソッドにアクセスするには、LotusScript と同じようにドット表記法を使用します。

定数は、名前ではなく実際の数値で指定しなければなりません。LotusScript では表示することで値を取得できます。例:

Messagebox ACLLEVEL_AUTHOR,, "ACLLEVEL_AUTHOR"