You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VBScript批量提取文本文件数量值并求和的实现问题

解决VBScript多TXT文件数量求和问题

你的现有代码仅能处理单个文件,缺少多文件循环逻辑和求和累加变量,这是无法实现总和计算的核心原因。下面是修改后的完整代码,同时优化了容错处理:

' 初始化文件系统对象
Set objFSO = CreateObject("Scripting.FileSystemObject")
' 设置目标文件夹路径(替换成你的实际路径)
Dim targetFolder
targetFolder = "C:\Your\TXT\Files\Folder"
Set folder = objFSO.GetFolder(targetFolder)

' 初始化求和变量,用于累计所有文件的数量
Dim totalQty
totalQty = 0

' 循环遍历文件夹内所有TXT文件
For Each File In folder.Files
    ' 只处理后缀为txt的文件
    If LCase(objFSO.GetExtensionName(File.Name)) = "txt" Then
        Set oFile2 = objFSO.OpenTextFile(File.Path, 1) ' 1代表只读模式
        Dim SSheet()
        i = 0
        
        ' 读取文件所有行到数组
        Do While Not oFile2.AtEndOfStream
            ReDim Preserve SSheet(i)
            SSheet(i) = oFile2.ReadLine
            i = i + 1
        Loop
        oFile2.Close
        Set oFile2 = Nothing
        
        ' 提取指定位置的数量(数组索引30对应第31行)
        If UBound(SSheet) >= 30 Then
            Dim QtyTrim, QtyInt
            QtyTrim = Mid(SSheet(30), 6, 4)
            ' 先验证是否为有效数字,避免转换报错
            If IsNumeric(QtyTrim) Then
                QtyInt = CInt(QtyTrim)
                totalQty = totalQty + QtyInt ' 累加数量到总和
                WScript.Echo "文件 " & File.Name & " 提取数量: " & QtyInt
            Else
                WScript.Echo "文件 " & File.Name & " 第31行数量格式无效"
            End If
        Else
            WScript.Echo "文件 " & File.Name & " 行数不足31行,无法提取数量"
        End If
    End If
Next

' 输出最终总和
WScript.Echo "所有文件的数量总和: " & totalQty

Set folder = Nothing
Set objFSO = Nothing

关键修改说明:

  • 新增多文件遍历逻辑:通过For Each File In folder.Files自动处理文件夹内所有TXT文件,无需固定数量
  • 添加求和累加变量totalQty:每次提取单个文件的数量后,直接累加到该变量中
  • 增加容错判断:检查文件行数是否足够、提取内容是否为有效数字,避免脚本崩溃
  • 修正原代码的对象销毁时机:原代码提前销毁了文件系统对象,导致后续循环无法执行

使用注意:

  1. 替换targetFolder的值为你的TXT文件所在实际路径
  2. 确认每个TXT文件的第31行(数组索引30)确实包含数量值,且位置符合Mid(SSheet(30),6,4)的设定(第6到第9个字符)

内容的提问来源于stack exchange,提问作者Muhnamana

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 19:18:31