テキスト形式で時刻が入っている2つのフィールドを元に時間数を計算する。
【内容】
- Timevalueっていうのを使うと、時刻型とかに変換しなくても計算できるみたいでした。
- 戻り値は、たとえばTimevalue("09:30")-Timevalue("05:00")で、04:30みたいな形になったので、○時間とかいう形で結果を出したいときは、hour関数とかも追加するといい感じでした。
【sample】
'開いている文書の、kaishiフィールドに入っている時刻とshuryoフィールドに入っている時刻の差分が3時間以上ならエラーに。
Dim ws As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim work_s1 As String
Dim work_s2 As String
Dim h As Integer
Dim m As Integer
Dim n As Integer
Set uidoc = ws.CurrentDocument
work_s1 = uidoc.FieldGetText("kaishi")
work_s2 = uidoc.FieldGetText("shuryo")
h=Hour(Timevalue(work_s2) - Timevalue(work_s1))
m=Minute(Timevalue(work_s2) - Timevalue(work_s1))
'分単位で合計する
n=(h*60)+m
If ( n>180) Then
Messagebox "3時間を超えています" , 48 , "入力エラー"
End If
【補足】
- うちの環境ではこれ昼間しか使ってないシステムなので、日をまたいだときのことは考えてないです。
目次に戻る