news 2026/6/10 16:22:18

VBScript 循环

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
VBScript 循环

VBScript 循环语句详解

VBScript 提供了多种循环结构,用于重复执行代码块。常见的有For…NextFor Each…NextDo…Loop(包括 While 和 Until 变体)和While…Wend(较旧,不推荐)。

1. For…Next 循环(计数循环)

最常用,适合已知循环次数的情况。

语法

For 计数器 = 开始值 To 结束值 [Step 步长] 语句块 Next
  • Step 默认是 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 For)

Dim 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 "总和:" & sum
2. 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 & " 字节" Next
3. 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:累加直到超过1000

Dim 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 Do

Dim i i = 0 Do i = i + 1 If i = 5 Then Exit Do ' 遇到5就退出 MsgBox i Loop While i < 10
4. 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 result
6. 小技巧与注意事项
  • 无限循环风险:确保条件最终会变为假,否则程序卡死(可按 Ctrl+Break 中止)。
  • 性能: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行等),告诉我,我可以提供完整代码!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 11:03:54

PaddlePaddle镜像支持断点续训,避免意外中断浪费GPU资源

PaddlePaddle镜像支持断点续训&#xff0c;避免意外中断浪费GPU资源 在深度学习项目中&#xff0c;一次训练任务动辄消耗数十小时的GPU时间并不罕见。尤其是在微调大模型、训练OCR系统或构建推荐引擎时&#xff0c;开发者最怕的不是调参失败&#xff0c;而是训练跑到第80个epoc…

作者头像 李华
网站建设 2026/6/10 12:11:26

5步获取免费OpenAI密钥:开发者AI集成实战指南

5步获取免费OpenAI密钥&#xff1a;开发者AI集成实战指南 【免费下载链接】FREE-openai-api-keys collection for free openai keys to use in your projects 项目地址: https://gitcode.com/gh_mirrors/fr/FREE-openai-api-keys 在人工智能技术快速发展的当下&#xff…

作者头像 李华
网站建设 2026/6/10 12:13:12

PaddlePaddle镜像支持模型热更新,保证GPU服务不间断

PaddlePaddle镜像支持模型热更新&#xff0c;保证GPU服务不间断 在金融风控系统中&#xff0c;一个毫秒级的推理延迟波动都可能引发连锁反应&#xff1b;在电商直播推荐场景下&#xff0c;每分钟的服务中断意味着数以万计的转化流失。当AI从实验室走向高可用生产环境&#xff0…

作者头像 李华
网站建设 2026/6/10 12:05:42

大麦抢票Docker容器化部署实战指南

大麦抢票Docker容器化部署实战指南 【免费下载链接】ticket-purchase 大麦自动抢票&#xff0c;支持人员、城市、日期场次、价格选择 项目地址: https://gitcode.com/GitHub_Trending/ti/ticket-purchase 还在为心仪演唱会门票秒光而烦恼吗&#xff1f;通过Docker容器化…

作者头像 李华
网站建设 2026/6/10 12:07:36

PDF字体修复终极指南:3步搞定跨设备显示难题[特殊字符]

打开PDF文件时&#xff0c;你是否遇到过这样的场景&#xff1a;中文内容变成空白方块⚫、文字排版错乱不堪、打印时字符神秘消失&#xff1f;这些恼人的问题&#xff0c;90%都源于同一个元凶——字体缺失&#xff01;今天&#xff0c;就让我带你揭秘PDF补丁丁的字体修复技术&am…

作者头像 李华
网站建设 2026/6/9 20:16:01

17、SVG 图形创建与 XSLT 应用指南

SVG 图形创建与 XSLT 应用指南 1. SVG 简介 SVG(可缩放矢量图形)是一种用于描述图像的标记语言。它在与 XSLT 结合使用时非常重要,因为它允许使用 XSLT 从 XML 数据创建图形,而大多数图形格式是二进制格式,XSLT 通常难以处理。 SVG 图形通常嵌入在 HTML 页面中,可用于…

作者头像 李华