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

所属分类: 脚本专栏 / vbs 阅读数: 461
收藏 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实现截图功能

本文给大家分享了下2种通过VBS实现截图功能的代码,第一个是纯VBS实现,第二种方法是通过把简短的第三方工具集合到VBS脚本来实现更加丰富的功能。
收藏 0 赞 0 分享

VBS中Run和Exec的区别

这篇文章主要介绍了VBS中Run和Exec的区别,需要的朋友可以参考下
收藏 0 赞 0 分享

VBS获取GZIP压缩的HTTP内容的实现代码

这篇文章主要介绍了VBS获取GZIP压缩的HTTP内容的实现代码,需要的朋友可以参考下
收藏 0 赞 0 分享

VC中实现文字竖排的简单方法(推荐)

下面小编就为大家带来一篇VC中实现文字竖排的简单方法(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

对一个vbs脚本病毒的病毒原理分析

这篇文章主要介绍了对一个vbs脚本病毒的病毒原理分析的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

vbs判断磁盘类型和检测硬盘剩余空间的实现代码

这篇文章主要介绍了vbs判断磁盘类型和检测硬盘剩余空间的实现代码,需要的朋友可以参考下
收藏 0 赞 0 分享

VBS调用WMI遍历搜索硬盘文件并计数的方法

这篇文章主要介绍了VBS调用WMI遍历搜索硬盘文件并计数的方法,需要的朋友可以参考下
收藏 0 赞 0 分享

vbs 查找硬盘分区中指定扩展名文件的实现代码

vbs 用于查找硬盘所有分区中指定扩展名文件的代码,有需要的朋友可以参考下。挺实用的一段代码,用来深入学习vbs,确实不错
收藏 0 赞 0 分享

vbs Size 属性使用介绍(获取文件大小)

为大家介绍vbs属性之size属性,供大家学习参考。Size 属性 对于文件,返回指定文件的字节数;对于文件夹,返回该文件夹中所有文件和子文件夹的字节数
收藏 0 赞 0 分享

vbs获取当前路径的代码

有时候我们需要获取执行当前vbs的路径,那么就可以参考下面的代码,一般用来可以删除自身等操作
收藏 0 赞 0 分享
查看更多