神剑山庄资源网 Design By www.hcban.com

If...Then...Else 语句

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

If condition Then statements [Else elsestatements ]

或者,使用块形式的语法:

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

参数
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 为 True时,执行的一条或多条语句。

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 语句结束。


要在条件为 True 时运行单行语句,可使用 If...Then...Else 语句的单行语法

下例示范了单行语法。请注意此例省略了关键字 Else

复制代码 代码如下:
Dim myDate '定义一个变量
myDate = #2/13/95# '为变量赋值,时间:95-2-13
If myDate < Now Then myDate = Now '与当前时间判断大小,小则将当前时间赋值MyDate
MsgBox myDate '输出变量myDate的值,输出为:95-2-13


要运行多行代码,必须使用多行(或块)语法。多行(或块)语法包含 End If 语句

下例示范了多行语法。如下所示:

复制代码 代码如下:
Dim myDate '定义一个变量
myDate = #2/13/95# '为变量赋值,时间:95-2-13
If myDate < Now Then '与当前时间判断大小
myDate = Now‘小则将当前时间赋值MyDate,并输出重新赋值的myDate的值
MsgBox myDate '输出为:95-2-13
End If


条件为 True 和 False 时分别运行语句

可以使用 If...Then...Else 语句定义两个可执行语句块:条件为 True 时运行某一语句块,条件为 False 时运行另一语句块。具体示例如下所示:

复制代码 代码如下:
Dim myDate '定义一个变量
myDate = #2/13/2222# '为变量赋值,时间:2222-2-13
If myDate < Now Then '与当前时间判断大小
myDate = Now '小则将当前时间赋值MyDate,并输出重新赋值的myDate的值
MsgBox myDate
Else
MsgBox myDate '大则直接输出myDate的值,输出为:2222-2-13
End If


对多个条件进行判断

If...Then...Else 语句的一种变形允许您从多个条件中选择,即添加 ElseIf 子句以扩充 If...Then...Else 语句的功能,使您可以控制基于多种可能的程序流程。具体示例如下所示:

复制代码 代码如下:
Dim value '定义一个变量
value = 10 '变量赋值为10
If value = 0 Then '判断变量的值大小,如果相等则输出变量值
MsgBox value
ElseIf value = 1 Then
MsgBox value
ElseIf value = 2 then
Msgbox value
Else
Msgbox "数值超出范围!" '如过都不相等,则输出”数值超出范围!”
End If


可以添加任意多个 ElseIf 子句以提供多种选择。使用多个 ElseIf 子句经常会变得很累赘。在多个条件中进行选择的更好方法是使用 Select Case 语句。

标签:
VBS,If

神剑山庄资源网 Design By www.hcban.com
神剑山庄资源网 免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
神剑山庄资源网 Design By www.hcban.com

评论“VBS教程:VBscript语句-If...Then...Else 语句”

暂无VBS教程:VBscript语句-If...Then...Else 语句的评论...

稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!

昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。

这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。

而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?