VBS基础篇 - 循环语句(3) - For...Next

 

  指定循环次数,使用计数器重复运行语句,语法结构如下:

1
2
3
4
5
For counter = start To end [Step step]
    [statements]
    [Exit For]
    [statements]
Next

主要参数:

       counter:用做循环计数器的数值变量。这个变量不能是数组元素或用户自定义类型的元素。

       start:counter的初值。

       end:counter的终值。

       step:counter的步长。如果没有指定,则step的默认值为1。

   具体示例代码如下:

For…Next

1
2
3
4
5
Dim Count:Count = 0 '定义一个变量,并赋值为0
For i = 1 To 10 '循环10次
    Count = Count + 1
Next
MsgBox Count '输出10

     Step设置计数器循环步长

1
2
3
4
5
Dim Count:Count = 0 '定义一个变量,并赋值为0
For i = 1 To 10 Step 2 '设置计数器步长为2,循环5次
    Count = Count + 1
Next
MsgBox Count '输出5

退出循环

Exit For 语句用于在计数器达到其终止值之前退出 For...Next 语句。因为通常只是在某些特殊情况下(例如在发生错误时)要退出循环,所以可以在 If...Then...Else 语句的 True 语句块中使用 Exit For 语句。如果条件为 False,循环将照常运行。

1
2
3
4
5
6
7
8
Dim Count:Count = 0 '定义一个变量,并赋值为0
For i = 1 To 10 '循环10次
    Count = Count + 1
    If Count = 5 Then '当变量Count的值为5时,退出当前循环
        Exit For
    End If
Next
MsgBox Count '输出5

VBS基础篇 - 循环语句(2) - While...Wend

当条件为True时循环,语法结构如下:

1
2
3
While condition
        [statements]
Wend

主要参数:

condition:数值或字符串表达式,其值为True或False。如果condition为Null,则condition被当作False。

statements:当condition为True时被重复执行的一条或多条命令。

  具体示例代码如下:

1
2
3
4
5
6
Dim Count:Count = 5 '定义一个变量
While Count <> 0 '当Count变量值不等于0,一直循环
    MsgBox Count
    Count = Count -1  
Wend
MsgBox "循环结束"

  While…Wend没有Exit语句,从头一直循环到尾,若要在中途退出,则需用Do…Loop语句。

VBS基础篇 - 循环语句(1) - Do 循环

循环用于重复执行一组语句。循环可分为三类:一类在条件变为 False 之前重复执行语句,一类在条件变为 True 之前重复执行语句,另一类按照指定的次数重复执行语句。

在 VBScript 中可使用下列循环语句:

Do...Loop: 当(或直到)条件为 True 时循环。

While...Wend: 当条件为 True 时循环。

For...Next: 指定循环次数,使用计数器重复运行语句。

For Each...Next:对于集合中的每项或数组中的每个元素,重复执行一组语句。

  Do 循环

当(或直到)条件为True时循环,语法结构如下:

  当条件为True时重复执行某语句块

1
2
3
4
5
Do [{While | Until} condition]
    [statements]
    [Exit Do]
    [statements]
Loop

  当条件变为True之前重复执行某语句块

1
2
3
4
5
Do
    [statements]
    [Exit Do]
    [statements]
Loop [{While | Until} condition]

主要参数:

condition数值或字符串表达式,其值为True或False。如果condition为Null,则condition被当作False

statements当condition为True时被重复执行的一条或多条命令

 

  具体示例代码如下:

  重复执行语句直到条件变为True

1
2
3
4
5
6
7
8
9
10
11
12
Dim Count:Count = 5 '定义一个变量
Do Until Count = 0 '直到Count变量为0时,否则一直循环
    MsgBox Count
    Count = Count -1
Loop
MsgBox "循环结束"
Dim Count:Count = 5 '定义一个变量
Do
    MsgBox Count
    Count = Count -1
Loop Until Count = 0 '直到Count变量为0时,否则一直循环
MsgBox "循环结束"

当条件变为True之前重复执行某语句块

1
2
3
4
5
6
7
8
9
10
11
12
Dim Count:Count = 5 '定义一个变量
Do While Count <> 0 '当Count变量为0时,停止循环
    MsgBox Count
    Count = Count -1
Loop
MsgBox "循环结束"
Dim Count:Count = 5 '定义一个变量
Do
    MsgBox Count
    Count = Count -1
Loop While Count <> 0 '当Count变量为0时,停止循环
MsgBox "循环结束"

退出循环

Exit Do 语句用于退出 Do...Loop 循环。因为通常只是在某些特殊情况下要退出循环(例如要避免死循环),所以可在 If...Then...Else 语句的 True 语句块中使用 Exit Do 语句。如果条件为 False,循环将照常运行。示例代码如下:

1
2
3
4
5
6
7
8
9
Dim Count:Count = 5 '定义一个变量
Do While Count <> 0 '当Count变量为0时,停止循环
    MsgBox Count
    Count = Count -1
    If Count = 2 Then '判断Count变量值是否为2,如果是则退出循环
        Exit Do
    End If
Loop
MsgBox "循环结束"
 
 
 

VBS基础篇 - 条件语句(2) - Select Case

 

Select Case结构提供了 If...Then...ElseIf结构的一个变通形式,可以从多个语句块中选择执行其中的一个。Select Case语句提供的功能与 If...Then...Else语句类似,但是可以使代码更加简练易读。

Select Case结构在其开始处使用一个只计算一次的简单测试表达式。表达式的结果将与结构中每个 Case 的值比较。如果匹配,则执行与该Case 关联的语句块,示例代码如下:

1
2
3
4
5
6
7
8
Dim value '定义一个变量
value = 10 '变量赋值为10
Select Case value '判断变量的值大小,如果相等则输出变量值
    Case 0 MsgBox 0
    Case 1 MsgBox 1
    Case 2 MsgBox 2
    Case Else MsgBox "数值超出范围!" '如过都不相等,则输出”数值超出范围!”
End Select

请注意 Select Case结构只计算开始处的一个表达式(只计算一次),而 If...Then...ElseIf 结构计算每个 ElseIf 语句的表达式,这些表达式可以各不相同。仅当每个 ElseIf 语句计算的表达式都相同时,才可以使用 Select Case 结构代替 If...Then...ElseIf 结构。

VBS基础篇 - 条件语句(1) - If...Then...Else

 

使用条件语句和循环语句可以控制脚本的流程。使用条件语句可以编写进行判断和重复操作的 VBScript 代码。在 VBScript 中可使用以下条件语句:

If...Then...Else 语句

Select Case 语句

 If...Then...Else

If...Then...Else 语句用于计算条件是否为 True 或 False,并且根据计算结果指定要运行的语句。通常,条件是使用比较运算符对值或变量进行比较的表达式。If...Then...Else 语句可以按照需要进行嵌套。

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

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

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

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

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

1
2
3
4
5
6
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 时运行另一语句块。具体示例如下所示:

1
2
3
4
5
6
7
8
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 语句的功能,使您可以控制基于多种可能的程序流程。具体示例如下所示:

1
2
3
4
5
6
7
8
9
10
11
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基础篇 - 循环语句(3) - For...Next的更多相关文章

  1. VBS基础篇 - 循环语句(4) - For Each...Next

    VBS基础篇 - 循环语句(4) - For Each...Next   For Each...Next 循环与 For...Next 循环类似.For Each...Next 不是将语句运行指定的次 ...

  2. VBS基础篇 - 循环

    经常地,当编写代码时,我们希望将一段代码执行若干次,我们可以在代码中使用循环语句来完成这项工作. 循环可分为三类:一类在条件变为 False 之前重复执行语句,一类在条件变为 True 之前重复执行语 ...

  3. VBS基础篇 - 条件语句

    经常地,当我们编写代码时,我们需要根据不同的判断执行不同操作,我们可以使用条件语句完成这个工作. If...Then...Else 在下面的情况中,您可以使用 If...Then...Else 语句: ...

  4. VBS基础篇 - 过程(sub 与 Function)

    VBS基础篇 - 过程(sub 与 Function) 在VBscript中,有两种procedure:Sub procedure与Function procedure Sub过程:是包含在 Sub  ...

  5. VBS基础篇 - VBScript过程

    VBS基础篇 - VBScript过程   在 VBScript 中,过程被分为两类:Sub 过程和 Function 过程. Sub过程 Sub 过程是包含在 Sub 和 End Sub 语句之间的 ...

  6. VBS基础篇 - 对象(1) - Class对象

    VBS基础篇 - 对象(1) - Class对象   相信对JAVA有一定了解的朋友一定对类这个名词不陌生,但是大家可能没有想过在VBS中使用Class类吧,其实Class类在自动化测试中是相当常用的 ...

  7. VBS基础篇 - 对象(6) - Folder对象

    VBS基础篇 - 对象(6) - Folder对象   描述:提供对文件所有属性的访问,从FSO对象的GetFile方法获得 使用Folder对象 要用Folder对象模型来编程必须先用FSO对象的G ...

  8. VBS基础篇 - 杂项 - Sendkeys

    VBS基础篇 - 杂项 - Sendkeys   模拟键盘操作,将一个或多个按键指令发送到指定Windows窗口来控制应用程序运行 其使用格式为:object.SendKeys(string) obj ...

  9. VBS基础篇 - 对象(3) - FileSystemObject对象

    VBS基础篇 - 对象(3) - FileSystemObject对象   文件系统是所有操作系统最重要的部分之一,脚本经常会需要对文件及文件夹进行访问和管理,在Vbs中对桌面和文件系统进行访问的顶级 ...

随机推荐

  1. java中|与||有什么区别?那么&与&&呢

    ||当左边为真时,就不运行右边的表达式了|当左边为真,还是会运算右边的表达式&&当左边为假时,就不会运算右边的表达式&当左边为假时,还是会运算右边的表达式

  2. crontab记录

    简单说一下分类: 1.系统定时路径在/etc/crontab,直接进行编辑即可,这里注意,设定执行时间之后,第二个要跟用户名 ,例如: 1 * * * * root run-parts /etc/cr ...

  3. VMware安装Centos6.8设置ip无法远程连接问题

    今天使用VMware安装Centos6.8minimal版本再设置ip地址的时候遇到了一些麻烦,就是无法ping通Centos操作系统的配置的ip从而无法用Xshell远程连接上. 如何配置请看下面的 ...

  4. python ast

    import ast print ast.literal_eval('[1, 2, 3]')print eval("2 + 3 * len('hello')") == 17prin ...

  5. php curl 抓取内容

    <?php$ch=curl_init(); curl_setopt($ch,CURLOPT_URL,$url)//抓取url curl_setopt($ch,CURLOPT_RETURNTRAN ...

  6. java 移位运算

    移位运算 :将整数转化为二进制(以补码的形式),按位平移. <<     左移 >>     右移 >>>   无符号右移 << 右移: 按位做平 ...

  7. 使用PowerDesigner创建mysql数据库表图

    使用PowerDesigner 建数据库表. 一直很忙,没有时间写东西.这次搞点会声会色的,嘿嘿 此技能为项目经理必备技能. 本次主角: 1.在workspace下建立一项目: physical da ...

  8. android 进程和线程管理

    进程和线程的概念: 进程:程序的运行实例. 线程:cpu调度基本单位. Activity启动的时候,启动一个主线程,两个binder线程. 主线程实如何产生的?ZygoteInit启动,经由一系列调用 ...

  9. [妙味JS基础]第九课:定时器管理、函数封装

    知识点总结 函数封装 回调函数 实例:抖动函数 获取当前的位置 通过数组来实现,一正一负,直到恢复成0为止. 当前位置与数组中各值相加

  10. socket的accept函数解析

    今天与同学争执一个话题:由于socket的accept函数在有客户端连接的时候产生了新的socket用于服务该客户端,那么,这个新的socket到底有没有占用一个新的端口? 讨论完后,才发现,自己虽然 ...