前回から引き続き、今回は呼び出されるエージェントについて説明します。
一番最初に、全体の流れを説明しましたが、実はまだ1の段階を説明している最中です。というか、1の処理が一番密度が濃いので、どうしても説明に時間がかかってしまいますね。
2~4はものすごく説明がいいかげんになったりして(^^; いえいえ、出来る範囲で説明しますよ(笑)
◆LotusScriptにてファイルパス取得用エージェントの作成
前回も説明しましたが、@式言語で”RunAgent”等を用いてエージェントを呼び出せば、@式言語とLotusScriptを融合させたロジックが作成できます。
LotusScriptで開発したい願望があるので、ここからLotusScriptをメインにしていますが、@式言語に置き換えることも可能かもしれません。
それでは以下に、「(添付)」エージェントのロジックを紹介します。今回のロジックは基本的なものなので、あまり興味深くないかもしれませんね(笑)
---
1: Sub Initialize
2: Dim ws As New NotesUIWorkspace
3: Dim db As NotesDatabase
4: Dim doc As NotesDocument
5: Dim uidoc As NotesUIDocument
6: Dim dialog As NotesDocument
7:
8: Set uidoc = ws.CurrentDocument
9: Set doc = uidoc.Document
10: Set db = doc.ParentDatabase
11:
12: Set dialog = New NotesDocument(db)
13:
14: Call ws.DialogBox( "dlg添付選択" , True , True , True , False , False , False , "添付するファイルの選択" , dialog , True , True )
15:
16: strFieldNum$ = doc.処理フィールド番号(0)
17: strFilePath$ = dialog.ファイルパス(0)
18: If strFilePath$ = "" Then
19: Call doc.ReplaceItemValue( "添付ファイルパス" , "" )
20: Exit Sub
21: End If
22:
23: fileName$ = Dir$( strFilePath$ , 0 )
24: If fileName$ = "" Then
25: buttons = 0'0:[OK]/4:[はいorいいえ]
26: ico = 16'0:なし/16:ストップマークアイコン/64:インフォメーション
27: default = 0'0:1番目のボタン/256:2番目のボタン
28: mode = 0'0:アプリケーションモード
29: boxTitle = "添付ファイルの選択"
30: message = "指定されたファイルが見つかりませんでした。もう一度指定し直してください。"
31: Messagebox message , buttons + ico + default + mode , boxTitle
32: Call doc.ReplaceItemValue( "添付ファイルパス" , "" )
33: Exit Sub
34: End If
35:
36: Call doc.ReplaceItemValue( "添付ファイルパス" , strFilePath$ )
37: End Sub
---
ここでは、添付するファイルを選択する為に、14行目にてDialogBoxメソッドを使い、ダイアログ上でファイル選択のインターフェースを用意する手法をとります。
実は、ココで呼び出すダイアログのフォームに一工夫することにしました。簡単に思いつく方法はダイアログフォームにボタンを用意してWindowsのファイル選択ダイアログ(例えば@PromptのLOCALBROWSEキーワードを使用して)からファイルを選択させ、OKを押す手法があります。
この場合、ユーザーの動作は次のような手順になりますよね。
1.フォーム上で添付指示
2.表示されたダイアログフォームでファイル選択ダイアログの表示指示
3.ファイル選択ダイアログでファイル選択指示
4.ダイアログフォームで完了指示
なんとなく、ユーザーが指示(マウスをクリック)する回数が多いですね。そこで、14行目のDialogBoxメソッドを実行したら、上記3の選択指示が出来るようにしてみたいと思います。
と言った前振りを入れて、次回はこのダイアログフォームの紹介をします。