VBS教程:VBscript语句-For Each...Next 语句


For Each...Next 语句

对数组或集合中的每个元素重复执行一组语句 。

For Each element In group
[statements]
[Exit For]
[statements]
Next [element]

参数

element

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

group

对象集合或数组的名称 。

statements

对于 group 中的每一项执行的一条或多条语句 。

说明

如果 group 中有至少一个元素,就会进入 For Each 块执行 。一旦进入循环,便首先对 group 中第一个元素执行循环中的所有语句 。只要 group 中还有其他的元素,就会对每个元素执行循环中的语句 。当 group 中的没有其他元素时退出循环,然后从 Next 语句之后的语句继续执行 。

Exit For 只能用于 For Each...NextFor...Next 控制结构中,提供另一种退出循环的方法 。可在循环的任意位置放置任意个 Exit For 语句 。Exit For 经常和条件判断语句一起使用(例如 If...Then),并立即将控制权转移到 Next 之后的语句 。

可以将一个 For Each...Next 循环放置在另一个之中,组成嵌套式 For Each...Next 循环 。但是每个循环的 element 必须是唯一的 。

注意 如果省略 Next 语句中的 element,则程序仍会象已包含它一样继续执行 。如果 Next 语句在其相应的 For 语句之前出现,则会产生错误 。

下面例子举例说明如何使用 For Each...Next 语句:

Function ShowFolderList(folderspec)  Dim fso, f, f1, fc, s  Set fso = CreateObject("Scripting.FileSystemObject")  Set f = fso.GetFolder(folderspec)  Set fc = f.Files  For Each f1 in fc    s = s & f1.name     s = s & "<BR>"  Next  ShowFolderList = sEnd Function