VBS基础篇 - 循环(for、Do、While)

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

循环可分为三类:一类在条件变为 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 '定义一个变量,并赋值为0
For i = 1 To 10 '循环10次 ,For 语句规定计数变量以及它的开始值和结束值
  Count = Count + 1
Next 'Next 语句会以 1 作为步长来递增变量i
MsgBox Count '输出10 '

退出循环:Exit For 语句用于在计数器达到其终止值之前退出 For...Next 语句。

Dim Count:Count = 0 '定义一个变量,并赋值为0
For i = 1 To 10 step 2 '循环10次,步长为2,通过使用 Step 关键词,我们可以规定计数变量递增或递减的步进值
  Count = Count + 1
  If Count = 3 Then '当变量Count的值为3时,退出当前循环
    Exit For '退出循环
  End If
Next
MsgBox Count '输出3

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

For counter = start To end [Step step]
  [statements]
  [Exit For]
  [statements]
Next

主要参数:

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

start:counter的初值。

end:counter的终值。

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

具体示例代码如下:

For…Next

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

Step设置计数器循环步长

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,循环将照常运行。

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

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

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

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之前重复执行某语句块

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 循环

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时循环

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

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

For Each...Next 语句

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

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
(0)

相关推荐

  • VBS基础篇 - 循环(for、Do、While)

    经常地,当编写代码时,我们希望将一段代码执行若干次,我们可以在代码中使用循环语句来完成这项工作. 循环可分为三类:一类在条件变为 False 之前重复执行语句,一类在条件变为 True 之前重复执行语句,另一类按照指定的次数重复执行语句. For...Next:指定循环次数,使用计数器重复运行语句 Do...Loop:当条件为 true 或者直到条件为 true 时,运行循环 While-Wend:当条件为True时循环 For Each...Next:对于集合中的每项或数组中的每个元素,重复执

  • VBS基础篇 vbscript Sendkeys模拟键盘操作

    模拟键盘操作,将一个或多个按键指令发送到指定Windows窗口来控制应用程序运行 其使用格式为:object.SendKeys(string) object:表示WshShell对象 string:表示要发送的按键指令字符串,需要放在英文双引号中 基本键 每个按键由一个或多个字符表示. 为了指定单一键盘字符,必须按字符本身的键.例如,为了表示字母 A,可以用 "A" 为了表示多个字符,就必须在字符后面直接加上另一个字符.例如,要表示 A.B 及 C,可用 "ABC"

  • VBS基础篇 - vbscript常用函数及功能

    vbs常用函数 函数名 语法 功能 Abs Abs(number) 返回一个数的绝对值 Sqr Sqr(number) 返回一个数的平方根 Sin Sin(number) 返回角度的正玄值 Cos Cos(number) 返回角度的余玄值 Tan Tan(number) 返回角度的正切值 Atn Atn(number) 返回角度的反正切值 Log Log(number) 返回一个数的自然对数 Int Int(number) 取整函数,返回一个小于number的第一整数 FormatNumber

  • VBS基础篇 - wscript 对象详解

    一.wscript对象 描述:提供对 Windows 脚本宿主对象模型根对象的访问. 详述:WScript 对象是 Windows 脚本宿主对象模型层次结构的根对象.它可在任何脚本文件中使用,不需要特定的声明.         WScript 对象提供对以下信息的访问命令行参数, 脚本文件的名称,宿主文件名, 宿主版本信息.         WScript 对象可用来创建对象,连接对象, 与对象断开连接, 同步事件, 以编程方式停止脚本的执行,将信息输出到默认输出设备(Windows 对话框或命

  • VBS基础篇 - vbscript Dictionary对象

    Dictionary是存储数据键和项目对的对象,其主要属性有Count.Item.Key,主要方法有Add.Exists.Items.Keys.Remove.RemoveAll. 创建Dictionary对象 '定义并创建Dictionary对象,使用CreateObject创建并返回自动化对象的引用 Dim Dic Set Dic = CreateObject("Scripting.Dictionary") 添加键值 Dim Dic Set Dic = CreateObject(&q

  • VBS基础篇 - vbscript class类的定义与使用

    从网上看到一个vbs中使用class的例子, 转出来,共同学习! Class 语句:声明一个类的名称,以及组成该类的变量.属性和方法的定义. vbs类的使用方法 类的结构: class 类名称      end class 调用方法 set myclass=new 类名称    中间类里面的代码,      类模块的事件过程. Private Sub Class_Initialize() 这里写上类实例化的时候执行的代码. end sub Private Sub class_terminate(

  • VBS基础篇 - vbscript TextStream对象

    TextStream对象是用于访问文本文件的对象,它是FileSystemObject一个独立的附属对象,但在使用TextStream对象时,我们仍要借助FileSystemObject 对象或其附属对象来创建一个 TextStream 对象并访问磁盘文件的内容.可以通过FileSystemObject 对象的CreateTextFile()及OpenTextFile(),来获取TextStream的对象句柄. 下面我们来具体的看看TextStream 对象的方法及属性的使用 TextStrea

  • VBS基础篇 Err对象

    Err对象是一个具有全局范围的内部对象,含有关于错误的所有信息. On Error Resume next 忽略运行时产生的所有错误 On Error Goto 0 取消忽略错误措施 主要方法有:Clear.Raise 主要属性有:Description.HelpContext.HelpFile.Number.Source 其属性及方法的详细说明见下面的示例说明: Err对象的方法 Clear 描述:清空Err对象当前所有的属性,也就是清空错误 语法:Err.Clear 示例: On Error

  • VBS基础篇 - FileSystemObject对象详解

    下面是转摘的关于FileSystemObject的详细介绍,TextStream是其中的一个子对象. 前言 最近一直在学VBScript,网上相关的教程也有很多,但大多数的对象都放在ASP中讲解,对于没有学过ASP的同学来说就非常郁闷了.所以打算把在学习FileSystemObject及TextStream中所常用的属性和方法写出来供大家来学习,如有不妥的地方请予以指出. 备注:所有的脚本均在QTP 9.0中测试过. FileSystemObject对象概述 FileSystemObject 对

  • VBS基础篇 - vbscript堆栈

    实例代码 脚本文件:d.vbs,包含堆栈的添加元素(压栈).删除元素(出栈).遍历.统计元素个数.清空 Option Explicit '建立堆栈 Dim Stk : Set Stk = CreateObject("System.Collections.Stack") Stk.Push "Element1" Stk.Push "Element2" Stk.Push "Element3" '查看堆栈中的元素数 WScript.E

随机推荐