VBS中的循环语句

循环用于重复执行一组语句。循环可分为三类:一类在条件变为 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数值或字符串表达式,其值为TrueFalse。如果conditionNull,则condition被当作False

statementsconditionTrue时被重复执行的一条或多条命令

 

  具体示例代码如下:

  重复执行语句直到条件变为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 "循环结束"


While…Wend循环

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

1
2
3
While  condition
         [statements]
Wend

 主要参数:

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

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

  具体示例代码如下:

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

 For…Next 循环

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

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

     主要参数:

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

       startcounter的初值。

       endcounter的终值。

       stepcounter的步长。如果没有指定,则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

 

For Each...Next 循环

For Each...Next 循环与 For...Next 循环类似。For Each...Next 不是将语句运行指定的次数,而是对于数组中的每个元素或对象集合中的每一项重复一组语句。这在不知道集合中元素的数目时非常有用。

语法结构如下:          

1
2
3
4
5
For  Each  element In  group
     [statements]
     [ Exit  For ]
     [statements]
Next  [element]

主要参数:

element:用来枚举集合或数组中所有元素的变量。对于集合,element可能是Variant变量、通用Object变量或任意指定的Automation对象变量。对于数组,element只能是Variant变量。

group:对象集合或数组的名称。

       具体实例代码如下:

1
2
3
4
5
6
7
8
Dim  Dics '定义一个变量
Set  Dics = CreateObject( "Scripting.Dictionary" ) '定义一个Dictionary对象
Dics.Add "0" , "Athens"    '为Dictionary对象赋值
Dics.Add "1" , "Belgrade"
Dics.Add "2" , "Cairo"
For  Each  Dic in Dics
     MsgBox Dics.Item(Dic) '循环遍历,且输出Dictionary键值
Next   

 




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值