当前位置: 首页 > news >正文

Excel VBA批量获取文件夹内文件名及重命名文件教程

在本文中,我们将介绍如何使用Excel VBA宏来批量获取文件夹内的文件名,并将其输出到Excel单元格区域。此外,我们还将展示如何根据Excel中的列表批量重命名这些文件。

一、批量获取文件夹内文件名

首先,我们需要编写一个VBA宏来列出指定文件夹内的所有文件名称。以下是实现该功能的步骤和代码:

1. 打开Excel并创建新宏

  • 打开Excel,按下 Alt + F11 键打开VBA编辑器。
  • 在“项目-工程”窗口中,右击你的工作簿名称,选择“插入” -> “模块”。
  • 在打开的模块窗口中,复制并粘贴以下代码:

vba

Sub ListFilesInFolder()Dim folderPath As StringDim fileName As StringDim i As IntegerDim fso As ObjectDim folder As ObjectDim file As Object' 设置文件夹路径folderPath = "D:\downloads\" ' 请修改为你的文件夹路径' 初始化变量i = 1' 创建FileSystemObject对象Set fso = CreateObject("Scripting.FileSystemObject")' 获取文件夹对象Set folder = fso.GetFolder(folderPath)' 清空目标单元格区域Range("A1:A" & Rows.Count).ClearContents' 遍历文件夹内的文件For Each file In folder.Files' 获取文件名称fileName = file.Name' 将文件名输出到单元格Cells(i, 1).Value = fileName' 移动到下一行i = i + 1Next file' 清理对象Set file = NothingSet folder = NothingSet fso = Nothing
End Sub

2. 运行宏

  • 返回Excel界面,按下 Alt + F8,选择 ListFilesInFolder 宏并运行。
  • 该宏会将指定文件夹内的所有文件名称输出到工作表的A列,从A1单元格开始。

二、批量重命名文件

接下来,我们将编写另一个VBA宏来根据Excel中的列表批量重命名文件夹中的文件。

1. 准备工作表

  • 在Excel中创建一个工作表,例如命名为“Sheet1”。
  • 在该工作表中,创建两列:一列是旧文件名,另一列是你想要的新文件名。

2. 编写宏

  • 在VBA编辑器中,添加以下宏:

vba

Sub BatchRenameFiles()Dim ws As WorksheetDim OldFileName As StringDim NewFileName As StringDim i As LongDim SourceFolder As StringDim FileCount As Long' 设置源文件夹路径SourceFolder = "D:\downloads" ' 请修改为你的文件夹路径' 设置工作表Set ws = ThisWorkbook.Sheets("Sheet1") ' 修改为包含文件名的工作表名称' 计算文件数量FileCount = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row' 禁用屏幕更新和警告消息Application.ScreenUpdating = FalseApplication.DisplayAlerts = False' 遍历文件名列表For i = 2 To FileCount ' 假设第一行是标题,从第二行开始OldFileName = SourceFolder & ws.Cells(i, 1).Value  ' 旧文件名NewFileName = SourceFolder & ws.Cells(i, 2).Value & ".mp4" ' 新文件名' 检查文件是否存在,然后重命名If Dir(OldFileName) <> "" ThenName OldFileName As NewFileNameElseDebug.Print "文件 " & OldFileName & " 不存在。"End IfNext i' 启用屏幕更新和警告消息Application.ScreenUpdating = TrueApplication.DisplayAlerts = TrueMsgBox "文件重命名完成。"
End Sub

3. 运行宏

  • 返回Excel界面,按下 Alt + F8,选择 BatchRenameFiles 宏并运行。
  • 宏会根据Excel列表中的旧文件名和新文件名批量重命名文件夹中的文件。

总结

通过以上两个宏,我们可以轻松地批量获取文件夹内的文件名,并根据需求批量重命名文件。在进行这些操作之前,请确保备份重要文件,以防意外发生。希望本文能帮助你在工作中提高效率。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 音频进阶学习一——模拟信号和数字信号
  • 8.6.数据库基础技术-数据库的控制
  • LVS理论知识
  • 软件设计之MySQL(1)
  • Oracle(62)什么是内存优化表(In-Memory Table)?
  • 【数据结构】在链式存储结构上建立一棵二叉树的算法
  • 日撸Java三百行(day22:二叉树的存储)
  • Python | Leetcode Python题解之第335题路径交叉
  • Python实战项目:天气数据爬取+数据可视化(完整代码)
  • 【微信小程序】实现中英文切换
  • 100 Exercises To Learn Rust 挑战!准备篇
  • 掌握网络数据的钥匙:Python Requests-HTML库深度解析
  • AI秘境-墨小黑奇遇记 - 初体验(一)
  • GPT-4o mini发布,轻量级大模型如何颠覆AI的未来?
  • PCDN管道收益项目详谈二运营商资管图
  • (ckeditor+ckfinder用法)Jquery,js获取ckeditor值
  • [LeetCode] Wiggle Sort
  • 《Java8实战》-第四章读书笔记(引入流Stream)
  • 07.Android之多媒体问题
  • 2018天猫双11|这就是阿里云!不止有新技术,更有温暖的社会力量
  • DataBase in Android
  • HTML中设置input等文本框为不可操作
  • Java 内存分配及垃圾回收机制初探
  • Kibana配置logstash,报表一体化
  • leetcode386. Lexicographical Numbers
  • TCP拥塞控制
  • 案例分享〡三拾众筹持续交付开发流程支撑创新业务
  • 初识 beanstalkd
  • 从零到一:用Phaser.js写意地开发小游戏(Chapter 3 - 加载游戏资源)
  • 反思总结然后整装待发
  • 关于Java中分层中遇到的一些问题
  • 基于web的全景—— Pannellum小试
  • 前端 CSS : 5# 纯 CSS 实现24小时超市
  • 前端技术周刊 2019-01-14:客户端存储
  • 前端每日实战:61# 视频演示如何用纯 CSS 创作一只咖啡壶
  • 三栏布局总结
  • 微信小程序开发问题汇总
  • 一个普通的 5 年iOS开发者的自我总结,以及5年开发经历和感想!
  • 《TCP IP 详解卷1:协议》阅读笔记 - 第六章
  • ​猴子吃桃问题:每天都吃了前一天剩下的一半多一个。
  • ​人工智能书单(数学基础篇)
  • ​学习一下,什么是预包装食品?​
  • #【QT 5 调试软件后,发布相关:软件生成exe文件 + 文件打包】
  • $Django python中使用redis, django中使用(封装了),redis开启事务(管道)
  • (附源码)springboot猪场管理系统 毕业设计 160901
  • (附源码)ssm高校运动会管理系统 毕业设计 020419
  • (三)elasticsearch 源码之启动流程分析
  • (十)T检验-第一部分
  • (十八)devops持续集成开发——使用docker安装部署jenkins流水线服务
  • (四) Graphivz 颜色选择
  • (四)Controller接口控制器详解(三)
  • (一)SpringBoot3---尚硅谷总结
  • (原創) 如何刪除Windows Live Writer留在本機的文章? (Web) (Windows Live Writer)
  • (转)大道至简,职场上做人做事做管理
  • .Family_物联网