他にもっとSmartな実装方法があるかもしれませんが,自分が考えた方法を参考までに載せておきます.
フォームに準備するフィールド
- timer_flag
- 種類:数値
- デフォルト値:0
- 全モードで段落非表示
- start_time
- 種類:テキスト
- デフォルト値:""
- 全モードで段落非表示
作成するアクション
- Timer Startアクション
- (式によりアクションを非表示にする)timer_flag = 1
Sub Click(Source As Button) Dim ws As New NotesUIWorkspace Dim uidoc As NotesUIDocument Set uidoc = ws.CurrentDocument Call uidoc.FieldSetText("timer_flag", "1") Call uidoc.FieldSetText("start_time", Str(Timer())) 'Start/Stopボタンの表示を切り替えるために文書のリフレッシュが必要 Call uidoc.Refresh End Sub
- Timer Stopアクション
- (式によりアクションを非表示にする)timer_flag = 0
Sub Click(Source As Button) Dim ws As New NotesUIWorkspace Dim uidoc As NotesUIDocument Set uidoc = ws.CurrentDocument result = Msgbox(Cstr(Round(Timer() - _ Csng(uidoc.FieldGetText( "start_time")),2) & " second") , , "Your Time") Call uidoc.FieldSetText("timer_flag", "0") Call uidoc.FieldSetText("start_time", "") 'Start/Stopボタンの表示を切り替えるために文書のリフレッシュが必要 Call uidoc.Refresh End Sub