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