For Each...Next 語句
對數(shù)組或集合中的每個元素重復(fù)執(zhí)行一組語句。
For Each element In group
[statements]
[Exit For]
[statements]
Next [element]
參數(shù)
element
用來枚舉集合或數(shù)組中所有元素的變量。對于集合,element 可能是 Variant 變量、通用 Object 變量或任意指定的 Automation 對象變量。對于數(shù)組,element 只能是 Variant 變量。
group
對象集合或數(shù)組的名稱。
statements
對于 group 中的每一項(xiàng)執(zhí)行的一條或多條語句。
說明
如果 group 中有至少一個元素,就會進(jìn)入 For Each 塊執(zhí)行。一旦進(jìn)入循環(huán),便首先對 group 中第一個元素執(zhí)行循環(huán)中的所有語句。只要 group 中還有其他的元素,就會對每個元素執(zhí)行循環(huán)中的語句。當(dāng) group 中的沒有其他元素時退出循環(huán),然后從 Next 語句之后的語句繼續(xù)執(zhí)行。
Exit For 只能用于 For Each...Next 或 For...Next 控制結(jié)構(gòu)中,提供另一種退出循環(huán)的方法??稍谘h(huán)的任意位置放置任意個 Exit For 語句。Exit For 經(jīng)常和條件判斷語句一起使用(例如 If...Then),并立即將控制權(quán)轉(zhuǎn)移到 Next 之后的語句。
可以將一個 For Each...Next 循環(huán)放置在另一個之中,組成嵌套式 For Each...Next 循環(huán)。但是每個循環(huán)的 element 必須是唯一的。
注意 如果省略 Next 語句中的 element,則程序仍會象已包含它一樣繼續(xù)執(zhí)行。如果 Next 語句在其相應(yīng)的 For 語句之前出現(xiàn),則會產(chǎn)生錯誤。
下面例子舉例說明如何使用 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