Lotus Notes クライアントは OLE オートメーションコントローラーでありサーバーです。
注 この機能は OS/2、UNIX、および Macintosh ではサポートされていません。
Lotus Notes は OLE オートメーションコントローラーです。LotusScript の GetObject 関数を使用して OLE オートメーションオブジェクトを開き、CreateObject 関数を使用して OLE オートメーションオブジェクトを作成できます。NotesUIDocument クラスの CreateObject および GetObject の各メソッドも使用できます。
Lotus Notes は OLE オートメーションサーバーとして登録されています。次の OLE オートメーションオブジェクトを提供します。
外部アプリケーションはオートメーションオブジェクトを作成し参照できます。さらにオブジェクトの階層にそって処理できます。たとえば Visual Basic アプリケーションには次のようなコードを設定できます。
Set workspace = CreateObject("Notes.NotesUIWorkspace")
Set doc = workspace.CurrentDocument
または、
Set session = CreateObject("Notes.NotesSession")
Messagebox session.UserName
Lotus Notes クライアントが Visual Basic プログラムと同じコンピュータにインストールされている必要があります。Lotus Notes は、OLE オートメーションサーバーとして機能しているときは別のプロセスとして実行されます。
OLE オートメーションはレイトバインディングを使用しています。LotusScript のように、新しい Lotus Domino オブジェクトは作成できません。(たとえば CreateObject を使用した場合) Notes.NotesUIWorkspace または Notes.NotesSession オブジェクトを作成し、有効なメソッドを使用して階層にそって処理していかなければなりません。たとえば、Lotus Domino のバックエンドのデータベースを開きたいとします。この場合、まず Notes.NotesSession OLE オートメーションオブジェクトを作成し、次に NotesSession クラスの GetDatabase メソッドを使用して参照変数を設定します。
Visual Basic では、すべての Lotus Domino オブジェクトの参照変数を Object 型として宣言します。Lotus Domino オブジェクトを使用し終わったら、参照変数に Nothing をセットし、使用していたメモリを開放します。
オブジェクトのプロパティとメソッドにアクセスするには、LotusScript と同じようにドット表記法を使用します。
定数は、名前ではなく実際の数値で指定しなければなりません。LotusScript では表示することで値を取得できます。たとえば、
Messagebox ACLLEVEL_AUTHOR,, "ACLLEVEL_AUTHOR"
例