经常地,当编写代码时,我们希望将一段代码执行若干次,我们可以在代码中使用循环语句来完成这项工作。

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

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

Do...Loop:当条件为 true 或者直到条件为 true 时,运行循环

While…Wend:当条件为True时循环

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

---------------------------------------- 分割线 -------------------------------------------------------

For...Next 语句

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

For counter = start To end [Step step]  'counter 用做循环计数器的数值变量, start:counter的初值, end:counter的终值, step:counter的步长
[statements]
[Exit For] '退出循环
[statements]
Next
Dim Count:Count =  '定义一个变量,并赋值为0
For i = To '循环10次 ,For 语句规定计数变量以及它的开始值和结束值
Count = Count +
Next 'Next 语句会以 1 作为步长来递增变量i
MsgBox Count '输出10 ' 退出循环:Exit For 语句用于在计数器达到其终止值之前退出 For...Next 语句。 Dim Count:Count = '定义一个变量,并赋值为0
For i = To step '循环10次,步长为2,通过使用 Step 关键词,我们可以规定计数变量递增或递减的步进值
Count = Count +
If Count = Then '当变量Count的值为3时,退出当前循环
Exit For '退出循环
End If
Next
MsgBox Count '输出3

Do 循环  当(或直到)条件为True时循环

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

Dim Count:Count =  '定义一个变量
Do Until Count = '直到Count变量为0时,否则一直循环
MsgBox Count
Count = Count -
Loop
MsgBox "循环结束" Dim Count:Count = '定义一个变量
Do
MsgBox Count
Count = Count -
Loop Until Count = '直到Count变量为0时,否则一直循环
MsgBox "循环结束" 当条件变为True之前重复执行某语句块 Dim Count:Count = '定义一个变量
Do While Count <> '当Count变量为0时,停止循环
MsgBox Count
Count = Count -
Loop
MsgBox "循环结束" Dim Count:Count = '定义一个变量
Do
MsgBox Count
Count = Count -
Loop While Count <> '当Count变量为0时,停止循环
MsgBox "循环结束" Exit Do 语句用于退出 Do...Loop 循环
Dim Count:Count = '定义一个变量
Do While Count <> '当Count变量为0时,停止循环
MsgBox Count
Count = Count -
If Count = Then '判断Count变量值是否为2,如果是则退出循环
Exit Do
End If
Loop
MsgBox "循环结束"

While…Wend  当条件为True时循环

Dim Count:Count =  '定义一个变量
While Count <> '当Count变量值不等于0,一直循环
MsgBox Count
Count = Count -
Wend
MsgBox "循环结束" While…Wend 没有Exit语句,从头一直循环到尾,若要在中途退出,则需用Do…Loop语句

For Each...Next 语句

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

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

VBS基础篇 - 循环的更多相关文章

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

    VBS基础篇 - 循环语句(3) - For...Next   指定循环次数,使用计数器重复运行语句,语法结构如下: 1 2 3 4 5 For counter = start To end [Ste ...

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

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

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

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

  4. VBS基础篇 - 杂项 - Sendkeys

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

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

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

  6. VBS基础篇 - VBScript过程

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

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

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

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

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

  9. VBS基础篇 - 对象(5) - File对象

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

随机推荐

  1. Javascript计算中英文混输字符串长度V2

    同上篇, client端也需要同样规则验证 compact_strlen: function(str) { var strlen = 0; for(var i =0; i<str.length; ...

  2. 绝对好评的淘宝购物导航:baiso.uz.taobao.com

    绝对好评的淘宝购物导航:baiso.uz.taobao.com 绝对好评的淘宝购物导航--百搜:http://baiso.uz.taobao.com

  3. OS中常用的调度算法总结 (转)

    http://blog.chinaunix.net/uid-25132162-id-361291.html 一.常见的批处理作业调度算法 1.先来先服务调度算法(FCFS):就是按照各个作业进入系统的 ...

  4. iOS开发--图片处理

    纵观现实社会和移动app市场,这是一个看脸的时代,而好看且漂亮的APP界面就是移动APP的脸.漂亮的外观后面少不了UI设计人员的辛苦,如果不懂的处理,就浪费了UI设计人员的心血. 比如下面这张图片,是 ...

  5. 密码强度的js插件(完成)

    效果如下图: 低:

  6. SQL语句统计每天的数据

    按用户注册时间统计每天注册的不同来源.不同状态的用户数量: ), RegisterTime, ) RDate ,--DATEPART(YEAR, RegisterTime) 年 ) END 'AWai ...

  7. (转)RabbitMQ消息队列(五):Routing 消息路由

    上篇文章中,我们构建了一个简单的日志系统.接下来,我们将丰富它:能够使用不同的severity来监听不同等级的log.比如我们希望只有error的log才保存到磁盘上. 1. Bindings绑定 上 ...

  8. 4月12日学习笔记——jQuery事件

    下面是在 jQuery 中最常使用的 bind()方法举例:$("#testDiv4").bind("click", showMsg); 我们为 id 是 te ...

  9. android:layout_weight越大所占比例越大和越大所占比例越小的两个例子

    摘要: 我的技术博客经常被流氓网站恶意爬取转载.请移步原文:http://www.cnblogs.com/hamhog/p/3907146.html,享受整齐的排版.有效的链接.正确的代码缩进.更好的 ...

  10. c++11之右值引用

    本文大部分来自这里,并不是完全着行翻译,如有不明白的地方请参考原文. 在c++中,创建临时对象的开销对程序的影响一直很大,比如以下这个例子: String getName(){ return “Kia ...