VBA 批量变换文件名

1. 页面布局

在“main”Sheet中按照下面的格式编辑。

2. 实现代码

Private wsMain As Worksheet
Private intIdx As LongPrivate Sub getExcelBookList(strPath As String)Dim fso As ObjectDim objFile As ObjectDim objFolder As ObjectSet fso = CreateObject("Scripting.FileSystemObject")For Each objFolder In fso.GetFolder(strPath).SubFoldersCall getExcelBookList(objFolder.Path)Next objFolderFor Each objFile In fso.GetFolder(strPath).FilesIf Left(objFile.Name, 1) <> "~" ThenwsMain.Cells(intIdx, 3) = strPathwsMain.Cells(intIdx, 4) = objFile.NameintIdx = intIdx + 1End IfNext objFileSet objFile = NothingSet objFolder = NothingSet fso = Nothing
End SubSub list()Set wsMain = ThisWorkbook.Sheets("main")intIdx = 6DoIf wsMain.Cells(intIdx, 3) = "" ThenExit DoEnd IfintIdx = intIdx + 1LoopCall getExcelBookList(wsMain.Cells(2, 3))Set wsMain = Nothing
End SubSub prepare()Dim fso As ObjectDim strExtentName As StringDim strBaseName As StringDim strPrefix As StringDim strSuffix As StringDim strFolderPath As StringDim strOldFileName As StringDim strNewFileName As StringSet fso = CreateObject("Scripting.FileSystemObject")Set wsMain = ThisWorkbook.Sheets("main")strPrefix = wsMain.Cells(3, 3)strSuffix = wsMain.Cells(4, 3)intIdx = 6While wsMain.Cells(intIdx, 3) <> ""If wsMain.Cells(intIdx, 2) = "" ThenstrFolderPath = wsMain.Cells(intIdx, 3)strOldFileName = wsMain.Cells(intIdx, 4)strBaseName = fso.GetBaseName(strFolderPath & "\" & strOldFileName)strExtentName = fso.GetExtensionName(strFolderPath & "\" & strOldFileName)strNewFileName = strPrefix & strBaseName & strSuffix & IIf(strExtentName = "", "", "." & strExtentName)wsMain.Cells(intIdx, 5) = strNewFileNameEnd IfintIdx = intIdx + 1WendSet wsMain = NothingSet fso = Nothing
End SubSub exec()Dim fso As ObjectDim objFile As ObjectDim strFolderPath As StringDim strOldFileName As StringDim strNewFileName As StringSet fso = CreateObject("Scripting.FileSystemObject")Set wsMain = ThisWorkbook.Sheets("main")intIdx = 6While wsMain.Cells(intIdx, 3) <> ""If wsMain.Cells(intIdx, 2) = "" ThenstrFolderPath = wsMain.Cells(intIdx, 3)strOldFileName = wsMain.Cells(intIdx, 4)strNewFileName = wsMain.Cells(intIdx, 5)If strOldFileName <> strNewFileName ThenSet objFile = fso.GetFile(strFolderPath & "\" & strOldFileName)objFile.Name = strNewFileNameSet objFile = NothingEnd IfwsMain.Cells(intIdx, 2) = "Done"End IfintIdx = intIdx + 1WendMsgBox "Done."Set wsMain = NothingSet fso = Nothing
End SubSub clear()Set wsMain = ThisWorkbook.Sheets("main")wsMain.Range("B6", "E" & Rows.Count).ClearContentsSet wsMain = Nothing
End Sub

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/37196.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CAN和CANFD数据写入.asc文件的dll

因为工作需要&#xff0c;需要做一些硬件不是CANoe的上位机&#xff08;比如说周立功CAN,NI-CAN&#xff09;&#xff0c;上位机需要有记录数据的功能&#xff0c;所以用Qt制作了一个记录数据的dll&#xff0c;方便重复使用&#xff08;因为有的客户指定了编程软件&#xff0c;…

Android高级面试_12_项目经验梳理

Android 高级面试-1&#xff1a;Handler 相关 问题&#xff1a;Handler 实现机制&#xff08;很多细节需要关注&#xff1a;如线程如何建立和退出消息循环等等&#xff09; 问题&#xff1a;关于 Handler&#xff0c;在任何地方 new Handler 都是什么线程下? 问题&#xff1a…

Redis主从复制、哨兵以及Cluster集群

1.Redis高可用 在web服务器中&#xff0c;高可用是指服务器可以正常访问的时间&#xff0c;衡量的标准是在多长时间内可以提供正常服务&#xff08;99.9%、99.99%、99.999%等等&#xff09;。 但是在Redis语境中&#xff0c;高可用的含义似乎要宽泛一些&#xff0c;除了保证提供…

加密教程:pdf怎么加密?7个pdf加密技巧任你选(图文详解)

pdf作为一种便携式文档&#xff0c;是展示内容的首选格式&#xff0c;目前也已广泛应用于交换和分享重要等温&#xff0c;例如内部报告、人力资源文件&#xff0c;以及商业提案等包含敏感信息的文档。然而&#xff0c;在如今的数字化时代&#xff0c;随着越来越多的企业将其文档…

划分子网、子网掩码、地址范围、网络地址和广播地址。

一公司原来使用 192.168.1.0/24 这个标准网络&#xff0c;现在想为公司的每个部门(共六个)单独配置一个子网&#xff0c;其中最大的部门要分配 IPv4 地址的数量不超过 25 个。求每个子网的子网掩码、地址范围、网络地址和广播地址。 因为2&#xff0c;4&#xff0c;8所以划分为…

el-date-picker设置时间范围

下面这种写法会报错&#xff1a;找不到expirationDate&#xff0c;这是因为涉及到this的指向问题 在普通函数中&#xff0c;this 的上下文并不指向 Vue 组件实例&#xff0c;而是取决于函数的调用方式或者是否使用了严格模式 <el-date-pickerclass"date-icon-common&q…

capitalize()方法——字符串首字母转换为大写

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 语法参考 capitalize()方法用于将字符串的首字母转换为大写&#xff0c;其他字母为小写&#xff0c;例如图1所示的效果。 图1 字符串首字母大写效果…

代码随想录算法训练营第五十二天-复习|LeetCode704 二分查找、LeetCode35 搜索插入位置、LeetCode27 移除元素

题1&#xff1a; 指路&#xff1a;704. 二分查找 - 力扣&#xff08;LeetCode&#xff09; 代码&#xff1a; class Solution { public:int search(vector<int>& nums, int target) {int left 0; int right nums.size() - 1;while (left < right) {int middl…

动手实现一个可发送短信随机密码的高安全性用户密码系统

动手实现一个可发送短信随机密码的高安全性用户密码系统 1、背景2、设计3、代码实现3.1、首先先看一下ThreadSpecificSecureRandom组件代码实现,如图所示3.2、调用nextInt的UserPasswordSystemManager组件的代码实现3.3、UserPasswordSystemManager组件所提供的方法,请看下图…

智慧数据中心可视化:高效管理与直观监控的未来

随着数据中心的规模和复杂性不断增加&#xff0c;传统管理方式难以满足需求。智慧数据中心通过图扑可视化实现实时数据监控和智能分析&#xff0c;将复杂的基础设施直观呈现&#xff0c;极大提升了运维效率、故障排查速度和资源优化能力&#xff0c;为企业提供现代化、智能化的…

Android使用WorkManager实现循环定时通知

引入包 def work_version “2.9.0” // (Java only) implementation “androidx.work:work-runtime:$work_version” // Kotlin coroutines implementation "androidx.work:work-runtime-ktx:$work_version"// optional - RxJava2 support implementation "a…

农业新质生产力数据(2012-2022年)原始+dofile+测算数据集

数据简介&#xff1a;农业新质生产力是指在现代农业发展中&#xff0c;通过融合尖端科技、信息技术与创新管理模式&#xff0c;实现农业生产效率飞跃、产品质量显著提升及生产可持续性增强的一种革新性生产能力&#xff0c;农业新质生产力代表了从依赖传统资源转向依靠科技创新…

一加Ace3 刷机救砖简化说明

注意&#xff1a;工具使用英文目录&#xff0c;支持救砖和降级。PJE110国行版&#xff0c;CPH2609国际版。目前国行版不能完美转换国际版&#xff0c;每次升级都需要刷oplusstanvbk&#xff0c;不建议使用。跨国转换或ROOT一定先解锁Bootloader&#xff0c;可以使用“一加全能工…

【java 执行 postgresql sql 结果不一致】

java 执行 postgresql sql 结果不一致 问题描述&#xff1a;pk_deptdoc&#xff0c;deptname 这两个字段只显示第一个字符。解决方案&#xff1a;是因为用到了UNION ALL&#xff0c;为了两边查询结果一致&#xff0c;我们一般会定一个空值&#xff0c;却没有定义数据类型&#…

Linux免交互

免交互 交互&#xff1a;我们发出指令控制程序的运行&#xff0c;程序在接受到指令之后按照指令的效果做出对应的反应 免交互&#xff1a;间接的通过第三方的方式把指令传送给指定的程序&#xff0c;不用直接的下达指令 Here Document 免交互&#xff1a; 这是命令行格式&…

国外Essay写作需要哪些明确规划?

Essay是一项有挑战性的任务&#xff0c;因此需要一个明确的写作规划&#xff0c;以确保您的Essay有逻辑性、准确性和连贯性。以下是一些不同寻常的写作规划的建议&#xff0c;以帮助您编写一篇成功的Essay。 创意闪光&#xff1a; 一个好的Essay写作规划应该让您的创意闪光。…

CSS隐藏元素:探索不同的隐藏技巧

在网页设计中&#xff0c;我们经常需要隐藏某些元素&#xff0c;以实现特定的布局效果或响应式设计。CSS提供了多种方法来隐藏元素&#xff0c;每种方法都有其特定的用途和效果。今天&#xff0c;我们就来探索一下CSS中隐藏元素的几种常见方式。 隐藏元素的两种方式 方式一&a…

为什么用excel求出的和是错误的?

Excel中求和结果错误的原因可能有几种常见的情况&#xff1a;1. **数据格式问题**&#xff1a;有时候数字可能被错误地视为文本格式。这种情况下&#xff0c;Excel 在求和时会忽略这些单元格。你可以通过将这些单元格的格式改为数值格式来解决。2. **隐藏的行或列**&#xff1a…

01_基于git代码代码运行JADE的第一个Agent

第一步&#xff1a;下载JADE代码 进入官网地址 Jade (jade-project.gitlab.io) 使用git下载JADE代码 第二步&#xff1a;编译并打包代码 在代码目录下执行mvn install 注意事项 1. maven版本需大于3.2.6 第三步&#xff1a;新建一个常规maven项目 <?xml version&q…

find_in_set 查询数据库中,逗号隔开的字符串

FIND_IN_SET(str,strlist)&#xff0c;该函数的作用是查询字段(strlist) 中是否包含(str)的结果&#xff0c;返回结果为 null或记录 。 写法1&#xff1a; $where[] [exp,Db::raw("FIND_IN_SET($user_id,follow_ids)")];写法2&#xff1a; ->where("find_in…