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

如何修改VBA代码仅提取文件名中的邮政编码部分

VBA代码修改方案

修改逻辑

原代码输出的是完整带后缀的文件名,要提取第一部分邮编,只需要对objFile.Name做两步处理:

  • 先去掉文件的后缀扩展名,避免后缀对下划线拆分的干扰
  • 使用Split函数按下划线_拆分处理后的文件名,取拆分结果的第一个元素即为目标邮编

修改后完整代码

Option Explicit

Sub GetFileDetails()
    Dim objFSO As Scripting.FileSystemObject
    Dim objFolder As Scripting.Folder
    Dim objFile As Scripting.File
    Dim nextRow As Long
    Dim fileNameWithoutExt As String
    Dim zipCode As String

    Set objFSO = CreateObject("Scripting.FileSystemObject")
    ' 引号内替换为你要遍历的目标文件夹完整路径
    Set objFolder = objFSO.GetFolder("C:\替换为你的目标文件夹路径")
    
    nextRow = Cells(Rows.Count, 1).End(xlUp).Row + 1
    
    For Each objFile In objFolder.Files
        ' 第一步:去掉文件扩展名
        fileNameWithoutExt = objFSO.GetBaseName(objFile.Name)
        ' 第二步:按下划线拆分,取第一个元素为邮编
        zipCode = Split(fileNameWithoutExt, "_")(0)
        ' 写入单元格
        Cells(nextRow, 1) = zipCode
        nextRow = nextRow + 1
    Next
    
    ' 释放对象
    Set objFile = Nothing
    Set objFolder = Nothing
    Set objFSO = Nothing
End Sub

额外说明

  • 如果文件名不符合ZipCode_Name_Date的命名规则(不存在下划线),代码会自动返回去掉后缀的完整文件名,不会报错
  • 运行前需要先启用Microsoft Scripting Runtime引用:VBA编辑器→工具→引用→勾选「Microsoft Scripting Runtime」即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 15:45:06