运城 网站建设,广东省自然资源厅地址,中企z云邮企业邮箱登录,寻找常州微信网站建设VBScript 循环语句详解
VBScript 提供了多种循环结构#xff0c;用于重复执行代码块。常见的有 For…Next、For Each…Next、Do…Loop#xff08;包括 While 和 Until 变体#xff09;和 While…Wend#xff08;较旧#xff0c;不推荐#xff09;。
1. For…Next 循环用于重复执行代码块。常见的有For…Next、For Each…Next、Do…Loop包括 While 和 Until 变体和While…Wend较旧不推荐。1. For…Next 循环计数循环最常用适合已知循环次数的情况。语法For 计数器 开始值 To 结束值 [Step 步长] 语句块 NextStep 默认是 1可正可负。步长为负时开始值应大于结束值。示例1基本计数Option Explicit Dim i For i 1 To 10 MsgBox 第 i 次循环 Next示例2步长为2倒序Dim i For i 10 To 1 Step -2 MsgBox i 输出 10, 8, 6, 4, 2 Next示例3提前退出循环Exit ForDim i, sum sum 0 For i 1 To 100 sum sum i If sum 300 Then MsgBox 和超过300了当前i i Exit For 跳出循环 End If Next MsgBox 总和 sum2. For Each…Next 循环遍历集合/数组专门用于遍历数组元素或对象集合如文件夹中的文件。语法For Each 元素 In 集合/数组 语句块 Next示例1遍历数组Dim fruits(3) fruits(0) 苹果 fruits(1) 香蕉 fruits(2) 橙子 Dim fruit For Each fruit In fruits MsgBox fruit Next示例2遍历文件夹所有文件实用Dim fso, folder, file Set fso CreateObject(Scripting.FileSystemObject) Set folder fso.GetFolder(C:\Test) For Each file In folder.Files MsgBox file.Name 大小 file.Size 字节 Next3. Do…Loop 循环条件循环适合循环次数未知、需根据条件判断的情况。条件可以放在开头或结尾。变体一Do While…Loop条件为真时继续Do While 条件 语句块 Loop变体二Do Until…Loop条件为假时继续Do Until 条件 语句块 Loop变体三条件放在结尾至少执行一次Do 语句块 Loop While 条件 Do 语句块 Loop Until 条件示例1用户输入直到正确Dim password, input password 123456 Do input InputBox(请输入密码) If input password Then MsgBox 密码错误请重试 End If Loop Until input password MsgBox 密码正确欢迎示例2累加直到超过1000Dim num, sum num 1 sum 0 Do While sum 1000 sum sum num num num 1 Loop MsgBox 累加到超过1000时num num 总和 sum示例3至少执行一次Dim answer Do answer MsgBox(你想继续吗, vbYesNo vbQuestion, 确认) Loop While answer vbYes MsgBox 程序结束提前退出Exit DoDim i i 0 Do i i 1 If i 5 Then Exit Do 遇到5就退出 MsgBox i Loop While i 104. While…Wend旧式循环不推荐功能类似 Do While但不能放条件在结尾也不能用 Exit 提前退出。Dim i i 1 While i 5 MsgBox i i i 1 Wend建议新代码一律使用 Do…Loop 代替 While…Wend。5. 循环嵌套循环可以互相嵌套常用于处理二维数组或多层文件夹。示例九九乘法表Dim i, j, result result 九九乘法表 vbCrLf vbCrLf For i 1 To 9 For j 1 To i result result j x i (i*j) Next result result vbCrLf Next MsgBox result6. 小技巧与注意事项无限循环风险确保条件最终会变为假否则程序卡死可按 CtrlBreak 中止。性能For…Next 比 Do…Loop 稍快优先使用已知次数的循环。Exit For / Exit Do用于提前跳出循环。嵌套过多3层建议拆分成子程序提高可读性。实用完整示例批量处理文件结合 For Each 和条件Option Explicit Dim fso, folder, file, count count 0 Set fso CreateObject(Scripting.FileSystemObject) Set folder fso.GetFolder(C:\Test) For Each file In folder.Files If LCase(fso.GetExtensionName(file.Name)) txt Then If file.Size 102400 Then 大于100KB MsgBox 大文件 file.Name ( file.Size 字节) count count 1 End If End If Next MsgBox 共找到 count 个大于100KB的TXT文件如果你有具体需求如遍历递归子文件夹、进度条模拟、循环读取Excel行等告诉我我可以提供完整代码