複合アプリケーション - 設計と管理
LotusScript の新しいクラス、メソッド、プロパティについて詳しくは、「NSF コンポーネントを構築する」を参照してください。
この作業は次の手順で行います。
1 IBM(R) Lotus Domino(R) Designer 8 が実行されていなければ起動して、「MyDiscussion.nsf」を開きます。
3 [DocByCategoryForm] フォームをクリックして [Enter] キーを押し、設計モードで開きます。
5 [プロパティ] ボックスの最初のタブの [名前] フィールドに「TutorialAction1」と入力します。
6 [プロパティ] ボックスの最後のタブで、下部の [複合設定アクション名] フィールドリストから [TutorialAction1] をクリックします。
7 [オブジェクトのプロパティ] インフォボックスを閉じます。
8 右上のアクションペインで、新規に作成したアクション [TutorialAction1] をクリックします。
9 右下のプログラムペインで、[実行] 設定として [クライアント] オプションと [LotusScript] オプションを選択します。
10 クリックのサブルーチンに次の LotusScript コードを入力します。
メモ 太字のコメントテキストは、コードの各行の説明です。
ヒント 下のコードをコピーして貼り付けることができます。必要ならば、コードを貼り付けた後で、重複した Sub ステートメントと End Sub ステートメントを削除してください。太字のテキストは注釈です。
Sub Click(Source As Button)
Dim s As New Notessession
Dim db As NotesDatabase
Set db = s.currentdatabase
'このフォームが存在するデータベースへのハンドル
Dim ws As New NotesUIWorkspace
Dim uidb As NotesUIDatabase
Dim uidoc As NotesUIDocument 'ハンドルエラー 4719、プロパティブローカーのコンテキストなしにスクリプトが実行された場合に返されます
On Error 4719 Goto err4719 'プロパティブローカーの新規コード
Dim pb As NotesPropertyBroker
Set pb = s.getPropertyBroker() ''新規 NotesPropertyBroker オブジェクトの作成
Dim pbInputProperty As NotesProperty
Dim pbcontext As Variant
pbContext = pb.InputPropertyContext 'NotesProperty オブジェクトの配列
Set pbInputProperty = pbContext(0) '最初の 'NotesProperty オブジェクトへのハンドル
Dim InputPropertyName As String
Dim Namespace As String
InputPropertyName = pbInputProperty.Name
''NotesProperty オブジェクトの名前
NameSpace = pbInputProperty.NameSpace 'NotesProperty オブジェクトの 'ネームスペース
Print "InputPropertyName = " & InputPropertyName '&" NameSpace = " & NameSpace
Dim pbvalue As Variant
pbValue = pb.GetPropertyValue(InputPropertyName) 'NotesProperty の値の配列
cName$ = pbValue(0) 'NotesProperty オブジェクトの値の配列の最初の値
SkipPropertyBroker:
If cName$ = "" Then
cName$ = Inputbox("Filter", cName$)
If cname$ = "" Then
Exit Sub
End If
' Messagebox cName$
Set UIdoc = ws.CurrentDocument
Call uidoc.FieldSetText("CategorytoDisplay",cName$)
Call uidoc.Refresh
err4719:
Print "Error" & Str(Err) & ":" &Error$
Messagebox "error"
Resume skipPropertyBroker
End Sub
入力し終わったら、[ファイル] - [保存] をクリックして、フォームの変更内容を保存します。最後に [ファイル] - [閉じる] をクリックして、設計モードを終了します。
これで Lotus Notes フォームにアクションが追加されました。後でこの Lotus Notes フォームを複合アプリケーション内のコンポーネントとして使用する際に、コンポーネントは発行されたプロパティを使用して、LotusScript コードで定義されたアクションを実行できます。
関連項目