IBM Lotus Symphony
|
特定の判定条件が True であった場合にのみ、指定したステートメントブロック (複数指定可能) を実行させます。
If condition=true Then Statement block [ElseIf condition=true Then] Statement block [Else] Statement block EndIf - Else If の代わりに ElseIf、End If の代わりに EndIf と書くこともできます。
If...Then ステートメントが指定したプログラムブロックを実行するかは、特定の判定条件によります。Lotus® Symphony™ Basic の実行行が If ステートメントに到達すると、判定条件がテストされます。判定結果が True であれば、次の Else または ElseIf ステートメントまでに記述されているすべてのステートメントブロックが実行されます。判定結果が False であり ElseIf ステートメントが指定されていれば、Lotus Symphony Basic は第 2 の判定条件をテストし、その判定結果が True であれば、次のステートメントが実行されます。 判定結果が False であれば、引き続き指定されている ElseIf または Else に従って処理が続行されます。Else に続けて指定するステートメントブロックは、それ以前にある判定条件がすべて満たされなかった場合にのみ実行されます。こうしたすべての判定条件が評価され、該当するステートメントブロックの実行が終了すると、EndIf 以降に記述されたステートメントが実行されます。
If...Then ステートメントは、複数のものをネスト (入れ子化) することができます。
Else および ElseIf は省略可能です。
![]() |
GoTo や GoSub を使って、If...Then の中から外へジャンプすることは可能ですが、If...Then の中にジャンプすることはできません。 |
下記の例では、製品の有効期限をユーザーに入力させて、期限が切れていないかを判定しています。
Sub ExampleIfThenDate
Dim sDate as String
Dim sToday as String
sDate = InputBox("Enter the expiration date (MM.DD.YYYY)")
sDate = Right$(sDate, 4) + Mid$(sDate, 4, 2) + Left$(sDate, 2)
sToday = Date$
sToday = Right$(sToday, 4)+ Mid$(sToday, 4, 2) + Left$(sToday, 2)
If sDate < sToday Then
MsgBox "The expiration date has passed"
ElseIf sDate > sToday Then
MsgBox "The expiration date has not yet passed"
条件を満たさないとき
MsgBox "The expiration date is today"
End If
End Sub