模块
目录
索引 🔎︎

# If...Then...Else 语句

定义一个或多个语句块，仅当给定条件为 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 语句根据给定的条件执行程序块。当 LibreOffice Basic 遇到「If」语句，将会对条件进行检测。如果条件为 True，将执行后面的语句直至遇到「Else」或者 ElseIf」语句。如果条件为 False，并且后面跟有「ElseIf」语句，LibreOffice Basic 检测下一个条件，如果为 True 则执行后面的语句。如果条件为 False，程序将继续测试下一个「ElseIf」或者「Else」语句。在「Else」之后的语句，只有在前面所有的条件判断都不为 True 的情况下才会被执行。当测试完所有条件并执行了相应的语句之后，程序将继续执行「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"
        Else
            MsgBox "The expiration date is today"
        End If
    End Sub