OLE カスタムコントロールを Domino Designer フォームに埋め込んで、ネイティブオブジェクトの場合と同じようにスクリプトを作成できます。コントロールがアクティブな (フォーカスされている) 場合、メニューは Domino Designer (ファイル、アプレット、ウィンドウ) とコントロールアイテムの組み合わせになります。コントロールのメニューアイテムには、それ自身用のもの (例えばスプレッドシートコントロールには [スプレッドシート]) とヘルプが含まれます。コントロールのヘルプは Domino のヘルプの代わりになります。
アプレットメニューアイテムでは、次の操作ができます。
フォーム設計中にコントロールを埋め込み、そのコントロールがアクティブなときには、イベントのリストがフォームの設計ペインの [定義] ボックスに表示されます。OLE カスタムコントロールのイベントは Domino Designer で使用できるため、ユーザーはそのイベントに対するアクションを記述できます。
ユーザーインタフェース (UI) から Domino Designer のフォームや文書に OLE カスタムコントロールを挿入するには、次の操作を行います。
LotusScript® から OLE カスタムコントロールを Domino Designer のフォームまたは文書へ挿入するには、フォームスクリプトの 1 つに NotesUIDocument の CreateObject メソッドを使用します。例えば、フォームの PostOpen スクリプトに次のステートメントを入れます。
Set Cal = Source.CreateObject("Calendar", _
"MSCAL.Calendar.7")
Source は現在の文書の NotesUIDocument オブジェクトです。2 番目のパラメータは、OLE カスタムコントロールである登録済み OLE オブジェクト名 (大文字小文字の区別あり) でなければなりません。最初のパラメータはユーザーが考案した参照名です。CreateObject は OLE オブジェクトへの参照変数を返します。
既存のコントロールにアクセスするには、フォームに添付されたスクリプトで NotesUIDocument の GetObject メソッドを使用します。以下に例を示します。
Set Cal = Source.GetObject("Calendar")
OLE カスタムコントロールのプロパティとメソッドは、ネイティブな LotusScript オブジェクトと同様にアクセスできます。次の例は、カレンダーコントロールの FirstDay プロパティを 2 に設定します。この 2 は月曜日を示し、デフォルトでは 1 の日曜日になります。参照変数は Cal です。
Cal.FirstDay = 2
LotusScript ブラウザで、登録済みの OLE カスタムコントロールのプロパティとメソッドを調べることができます。[OLE クラス] の下を探してください。
UI を通して OLE カスタムコントロールをフォームに挿入すると、コントロールとそのイベントはフォーム上のほかのオブジェクトと同じように [定義] と [イベント] のボックスで利用できるようになります。
NotesFlow 対応の OLE カスタムコントロールは、Domino Designer のアクション、ボタン、ホットスポットの ObjectExecute スクリプトを介してユーザーがそのコントロールのイベントを処理できる方式を提供する場合もあります。この方法は、フォームに挿入されない OLE カスタムコントロールに使用すると便利です。