OLE カスタムコントロールを使用する

OLE カスタムコントロールを Domino Designer フォームに埋め込んで、ネイティブオブジェクトの場合と同じようにスクリプトを作成できます。コントロールがアクティブな (フォーカスされている) 場合、メニューは Domino Designer (ファイル、アプレット、ウィンドウ) とコントロールアイテムの組み合わせになります。コントロールのメニューアイテムには、それ自身用のもの (例えばスプレッドシートコントロールには [スプレッドシート]) とヘルプが含まれます。コントロールのヘルプは Domino のヘルプの代わりになります。

アプレットメニューアイテムでは、次の操作ができます。

  • Domino Designer の内部クリップボードを使用したオブジェクト全体のコピーと切り取り ([編集] メニューを使用してオブジェクトの選択したテキストをコピーしたり、切り取る)。内部クリップボードでは、Domino Designer 内の [貼り付け] 操作でオブジェクトを貼り付けますが、[形式を選択して貼り付け] 操作ではオブジェクトの形式 (例えばピクチャー) を貼り付けます。
  • OLE クリップボードを使用したオブジェクト全体の外部コピー。OLE クリップボードでは、Domino Designer 内あるいは他のアプリケーションへの [形式を選択して貼り付け] 操作によってオブジェクトを貼り付けることができますが、[貼り付け] 操作ではオブジェクトの形式を貼り付けます。
  • コントロールのオブジェクトプロパティの、コントロールの名前、サイズ、間隔、スタイルを含めたアクセス。コントロールのプロパティ (コントロールがサポートしている場合) にアクセスするには、[編集] - [プロパティ] を選択します。
  • コントロールのイベントの編集。これにより設計ペインが表示されます。
  • コントロールモードの設計または実行の設定。
  • コントロールのイベントの凍結と凍結解除。

フォーム設計中にコントロールを埋め込み、そのコントロールがアクティブなときには、イベントのリストがフォームの設計ペインの [定義] ボックスに表示されます。OLE カスタムコントロールのイベントは Domino Designer で使用できるため、ユーザーはそのイベントに対するアクションを記述できます。

UI を介して OLE カスタムコントロールを挿入する

ユーザーインタフェース (UI) から Domino Designer のフォームや文書に OLE カスタムコントロールを挿入するには、次の操作を行います。

  1. フォームを開き、コントロールを挿入したいリッチテキストフィールドにカーソルを移動します。
  2. [作成] - [オブジェクト] を選択します。
  3. [新規コントロールの作成] を選択します。
  4. リストから挿入したいコントロールを選択します。コントロールは [新規オブジェクトの作成] リストにも入っており、黄色の背景色の記号でフラグが付けられています。登録済みコントロール以外を挿入するには、[コントロール追加] を選択してコントロールファイルのパスを入力します。

LotusScript を介して 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")

LotusScript で OLE カスタムコントロールを使用する

OLE カスタムコントロールのプロパティとメソッドは、ネイティブな LotusScript オブジェクトと同様にアクセスできます。次の例は、カレンダーコントロールの FirstDay プロパティを 2 に設定します。この 2 は月曜日を示し、デフォルトでは 1 の日曜日になります。参照変数は Cal です。

Cal.FirstDay = 2

LotusScript ブラウザで、登録済みの OLE カスタムコントロールのプロパティとメソッドを調べることができます。[OLE クラス] の下を探してください。

UI を通して OLE カスタムコントロールをフォームに挿入すると、コントロールとそのイベントはフォーム上のほかのオブジェクトと同じように [定義] と [イベント] のボックスで利用できるようになります。

NotesFlow 対応の OLE カスタムコントロールは、Domino Designer のアクション、ボタン、ホットスポットの ObjectExecute スクリプトを介してユーザーがそのコントロールのイベントを処理できる方式を提供する場合もあります。この方法は、フォームに挿入されない OLE カスタムコントロールに使用すると便利です。