Microsoft(R) Visual Basic(R) Scripting Edition If...Then...Else 语句 | 语言参考 起始页|版本 1

##### 描述

> 根据表达式的值有条件地执行一组语句。

##### 语法

> If condition Then statements [Else elsestatements ]

> 或者，使用块形式的语法：

> If condition Then
> [statements]
> [ElseIf condition-n Then
> [elseifstatements]] . . .
> [Else
> [elsestatements]]
> End If

> If...Then...Else 语句的语法包含以下部分：

> 部分 | 描述
> condition | 一个或多个下面两种类型的表达式： 数值或字符串表达式，其运算结果是 True 或 False。如果 condition 是 Null，则 condition 被视为 False。 形如 TypeOf objectname Is objecttype 的表达式。objectname 是任何对象的引用，而 objecttype 则是任何有效的对象类型。如果 objectname 是 objecttype 所指定的一种对象类型，则表达式为 True；否则为 False。
> statements | 如果 condition 为 True 时，执行的一条或多条（以冒号分开）语句。
> condition-n | 同 condition。
> elseifstatements | 如果相关的 condition-n 为 Ture时，执行的一条或多条语句。
> elsestatements | 如果前面没有 condition 或 condition-n 表达式为 True 时，执行的一条或多条语句。

##### 说明

> 对于短小简单的测试，可以使用单行形式（第一种语法）。但块形式（第二种语法）提供了比单行形式更强的结构化与适应性，比较容易阅读、维护及调试。

> 注意 在单行语法中，可以执行多条语句作为 If...Then 判断的结果，但所有语句必须在同一行上并且以冒号分开，如下列语句所示：

> >     If A > 10 Then A = A + 1 : B = B + A : C = C + B

> 当程序运行到 If 块（第二种语法）时，将测试 condition。如果 condition 是 True，则执行 Then 之后的语句。如 condition 是 False，则每个 ElseIf 部分的条件式（如果有的话）会依次计算并加以测试。当找到某个为 True 的条件时，则其相关的 Then 之后的语句会被执行。如没有一个 ElseIf 语句是 True（或没有 ElseIf 子句），则将执行 Else 之后的语句。执行 Then 或 Else 之后的语句以后，将继续执行 End If 之后的语句。

> Else 和 ElseIf 子句都是可选的。在 If 块中可以放置任意多个 ElseIf 子句，但是都必须在 Else 子句之前。If 块语句可以被嵌套，即被包含在另一个 If 块语句之中。

> 要判断某个语句是否是一个 If 块，可检查 Then 关键字之后是什么。如果在 Then 的同一行之后还有其他非注释的内容，则此语句就是单行形式的 If 语句。

> If 块语句必须是某一行的第一条语句，并且必须以 End If 语句结束。

(C) 1998 Microsoft Corporation. All rights reserved. Terms of Use.