VBS教程:VBscript语句-If...Then...Else 语句

所属分类: 脚本专栏 / vbs 阅读数: 366
收藏 0 赞 0 分享

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获取当前目录下所有文件夹名字的代码

有时候我们需要获取当前目录下所有文件夹的名字,那么就可以参考下面的代码了
收藏 0 赞 0 分享

VBS读取注册表的两种方法

有时候我们需要用vbs来操作注册表,一般情况下有两种方法,一种是通过wshshell对象的regread,另外一种是使用WMI操作注册表,下面简单的介绍下
收藏 0 赞 0 分享

查看系统C盘剩余空间的VBS脚本

查看系统C盘剩下的空间方法有很多,在本文要为大家介绍的是通过VBS脚本是如何实现的,感兴趣的朋友不要错过
收藏 0 赞 0 分享

利用VBS实现显示系统服务列表

显示服务列表的方法有很多,在接下来的文章中为大家介绍下利用VBS是如何实现的,感兴趣的朋友不要错过
收藏 0 赞 0 分享

VBS获取文件MD5值(无组件)

VBS获取MD5值最简单的方法是直接调用CAPICOM组件,但是由于CAPICOM组件系统并不是默认安装,所以使用起来不方便
收藏 0 赞 0 分享

VBS调用Photoshop批量生成缩略图的代码

这篇文章主要为大家分享了通过vbs调用Photoshop批量生成缩略图,需要的朋友可以参考下
收藏 0 赞 0 分享

使用vbs获得外网ip并发送到邮箱里

这篇文章主要介绍了使用vbs获得外网ip并发送到邮箱里,需要的朋友可以参考下
收藏 0 赞 0 分享

vbs实现只复制比目标文件更新的文件

有时候我们需要时候备份一些文件,只有当这个文件被修改了并且不是空的时候才复制
收藏 0 赞 0 分享

vbs复制文件夹的实现代码

这篇文章主要介绍了vbs复制文件夹的实现代码,需要的朋友可以参考下
收藏 0 赞 0 分享

VBS文本文件操作实现代码

这篇文章主要介绍了VBS文本文件操作实现代码,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多