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

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

时间: 2024-08-01 06:19:07

VBS教程:VBscript语句-If...Then...Else 语句_vbs的相关文章

ASP入门教程-VBScript的输入与输出语句

1.MsgBox函数 信息框函数(MsgBox)是常用的输出信息的函数.它在对话框中显示信息,等待用户单击按钮,并返回一个整数以标明用户单击了哪一个按钮.其语法格式如下: 变量=MsgBox (信息内容) [,<对话框类型> [,<对话框标题> ]] ) 说明: <信息内容>指定在对话框中出现的文本,在信息内容中使用硬回车符(CHR13)可以使文本换行.对话框的宽度和高度随着的内容的增加而增加,最多可以有1024个字符. <对话框类型>指定对话框中出现的按钮

VBS教程:正则表达式简介 -后向引用_vbs

后向引用 正则表达式一个最重要的特性就是将匹配成功的模式的某部分进行存储供以后使用这一能力.请回想一下,对一个正则表达式模式或部分模式两边添加圆括号将导致这部分表达式存储到一个临时缓冲区中.可以使用非捕获元字符 '?:', '?=', or '?!' 来忽略对这部分正则表达式的保存. 所捕获的每个子匹配都按照在正则表达式模式中从左至右所遇到的内容存储.存储子匹配的缓冲区编号从 1 开始,连续编号直至最大 99 个子表达式.每个缓冲区都可以使用 '\n' 访问,其中 n 为一个标识特定缓冲区的一位

VBS教程:正则表达式简介 -选择与编组_vbs

选择与编组 选择允许使用 '|' 字符来在两个或多个候选项中进行选择.通过扩展章节标题的正则表达式,可以将其扩充为不仅仅适用于章节标题的表达式.不过,这可没有想象的那么直接.在使用选择时,将匹配'|' 字符每边最可能的表达式.你可能认为下面的 Visual Basic Scripting Edition 和 VBScript 表达式将匹配位于一行的开始和结束位置且后跟一个或两个数字的 'Chapter' 或 'Section': /^Chapter|Section [1-9][0-9]{0,1}

VBS教程:函数-Int、Fix 函数_vbs

Int.Fix 函数 返回数字的整数部分. Int(number) Fix(number) number 参数可以是任意有效的数值表达式.如果 number 参数包含 Null,则返回 Null. 说明 Int 和 Fix 函数都删除 number 参数的小数部分并返回以整数表示的结果. Int 和 Fix 函数的区别在于如果 number 参数为负数时,Int 函数返回小于或等于 number 的第一个负整数,而 Fix 函数返回大于或等于 number 参数的第一个负整数.例如,Int 将

VBS教程:正则表达式简介 -非打印字符_vbs

非打印字符 有不少很有用的非打印字符,偶尔必须使用.下表显示了用来表示这些非打印字符的转义序列: 字符 含义 \cx 匹配由x指明的控制字符.例如, \cM 匹配一个 Control-M 或回车符. x 的值必须为 A-Z 或 a-z 之一.否则,将 c 视为一个原义的 'c' 字符. \f 匹配一个换页符.等价于 \x0c 和 \cL. \n 匹配一个换行符.等价于 \x0a 和 \cJ. \r 匹配一个回车符.等价于 \x0d 和 \cM. \s 匹配任何空白字符,包括空格.制表符.换页符等

VBS教程:VBScript 基础-使用条件语句_vbs

使用条件语句 控制程序执行 使用条件语句和循环语句可以控制脚本的流程.使用条件语句可以编写进行判断和重复操作的 VBScript 代码.在 VBScript 中可使用以下条件语句: If...Then...Else 语句 Select Case 语句 使用 If...Then...Else 进行判断 If...Then...Else 语句用于计算条件是否为 True 或 False,并且根据计算结果指定要运行的语句.通常,条件是使用比较运算符对值或变量进行比较的表达式.有关比较运算符的详细信息,

VBS教程:VBScript 语句-Set 语句_vbs

Set 语句 将对象引用赋给一个variable或property,或者将对象引用与事件关联. Set objectvar = {objectexpression | New classname | Nothing} -或者- Set object.eventname = GetRef(procname) 参数 objectvar 必选项,变量或属性名称;符合标准变量命名约定. objectexpression 可选项,与对象名称一致的Expression,另一个相同object type.函数

VBS教程:VBscript语句-On Error 语句_vbs

On Error 语句 启用或禁用错误处理程序. On Error Resume NextOn Error GoTo 0 说明 如果在您的代码中未使用 On Error Resume Next 语句, 所发生的运行时错误 将显示错误信息,同时,代码的执行也随之终止.但是具体操作由运行代码的主机决定.主机有时可有选择地处理各类错误.在有些情况下,它可以在出错的地方激活脚本调试器.而在另一些情况下, 由于主机无法通知用户,因此对所发生的错误没有明确说明.至于如何处理错误则完全取决于主机的功能. 在任

VBS教程:VBscript语句-功能介绍_vbs

VBScript 语句 描述 语言元素 将控制权交给一个 Sub 或 Function 过程. Call 语句 声明一个类的名称. Class 语句 声明用于替换文字值的常数. Const 语句 声明变量并分配存储空间. Dim 语句 当某个条件为 True 时或在某个条件变为 True 之前重复执行一个语句块. Do...Loop 语句 重新初始化固定大小的数组的元素和释放动态数组的存储空间. Erase 语句 执行一条或多条指定语句. Execute 语句 在一个脚本的全局命名空间中执行一条

VBS教程:VBScript 语句-Property Set 语句_vbs

Property Set 语句 在 Class 块中,声明名称.参数和代码,这些构成了将引用设置到对象的 Property 过程的主体.  [Public | Private] Property Set name(  [arglist,] reference)    [statement]    [Exit Property]     [statement]End Property 参数 Public 表明 Property Set 过程可以被所有脚本中的其他所有过程访问. Private 表明