Excel·VBA文件重命名

news2024/11/28 22:40:13

目录

    • 获取文件夹下所有文件名
    • 获取文件夹下所有文件名并重命名
    • 简体/繁体文件名重命名

获取文件夹下所有文件名

Sub 测试代码()
    Dim i&, j&
    file_path = "E:\测试\重命名"
    With CreateObject("Scripting.FileSystemObject")
        For Each f In .GetFolder(file_path).Files  '遍历文件夹里文件
            i = i + 1: Cells(i, 1).Value = f.Name
        Next
    End With
    
    file_name = Dir(file_path & "\*")
    Do While file_name <> ""
        j = j + 1: Cells(j, 3).Value = file_name
        file_name = Dir
    Loop
End Sub

2种代码获取文件名,结果一致
在这里插入图片描述
在这里插入图片描述

获取文件夹下所有文件名并重命名

Dim fso As Object, file_path$, gfd, f     '公共变量
Sub 获取文件夹下所有文件名()
    file_path = "E:\测试\重命名"  '指定文件夹
    Range("A:B").ClearContents   '仅清空数据
    [a1].Resize(1, 2) = Array("原文件名", "新文件名"): i = 1
    
    Set fso = CreateObject("Scripting.FileSystemObject")  '文件访问对象
    Set gfd = fso.GetFolder(file_path)  '获取文件夹对象
    For Each f In gfd.Files
        i = i + 1: Cells(i, 1).Value = f.Name
    Next
    Debug.Print "获取文件夹下所有文件名,已完成"
End Sub

Sub 对获取的文件重命名()
    '注意避免新旧文件名有重复的,否则可能报错
    If [a2] = "" Then Debug.Print "请先执行第一步": Exit Sub
    i = 1
    For Each f In gfd.Files  '遍历文件夹里的所有文件
        i = i + 1: f.Name = Cells(i, 2).Value  '将原文件名改成B列对应的新文件名
    Next
    Debug.Print "文件重命名,已完成"
End Sub

Sub 文件重命名()
    '对固定文件夹中文件重命名,适用以上sub获取的文件名(只要文件存在即可)
    Dim arr, i&, file_path$, olddir$, newdir$
    arr = [a1].CurrentRegion.Value
    file_path = "E:\测试\重命名"  '指定文件夹
    For i = 2 To UBound(arr)
        olddir = file_path & "\" & arr(i, 1)
        newdir = file_path & "\" & arr(i, 2)
        Name olddir As newdir
    Next
    Debug.Print "文件重命名,已完成"
End Sub

2种代码重命名文件名,结果一致
在这里插入图片描述

简体/繁体文件名重命名

中文简体/繁体互转函数

#If Win64 Then
    Private Declare PtrSafe Function LCMapString Lib "kernel32" Alias "LCMapStringA" (ByVal Locale As Long, ByVal dwMapFlags As Long, ByVal lpSrcStr As String, ByVal cchSrc As Long, ByVal lpDestStr As String, ByVal cchDest As Long) As Long
    Private Declare PtrSafe Function lstrlen Lib "kernel32" Alias "lstrlenA" (ByVal lpString As String) As Long
#ElseIf Win32 Then
    Private Declare Function LCMapString Lib "kernel32" Alias "LCMapStringA" (ByVal Locale As Long, ByVal dwMapFlags As Long, ByVal lpSrcStr As String, ByVal cchSrc As Long, ByVal lpDestStr As String, ByVal cchDest As Long) As Long
    Private Declare Function lstrlen Lib "kernel32" Alias "lstrlenA" (ByVal lpString As String) As Long
#End If

Function chs2cht(ByVal str As String) As String
    '简体转繁体
    Dim str_len&, cht$
    str_len = lstrlen(str)  '指定字符串的长度
    cht = Space(str_len)    '相同长度的空字符串
    LCMapString &H804, &H4000000, str, str_len, cht, str_len
    chs2cht = cht
End Function

Function cht2chs(ByVal str As String) As String
    '繁体转简体,有一些繁体字无法转换
    Dim str_len&, chs$
    str_len = lstrlen(str)  '指定字符串的长度
    chs = Space(str_len)    '相同长度的空字符串
    LCMapString &H804, &H2000000, str, str_len, chs, str_len
    cht2chs = chs
End Function

文件夹下所有文件名繁体转简体

Sub 文件夹下所有文件名繁体转简体()
    Dim file_path$, file_name$
    file_path = "E:\测试\重命名"  '待重命名文件所在的文件夹
    file_name = Dir(file_path & "\*")  '*后可指定文件扩展名
    
    Do While file_name <> ""
        olddir = file_path & "\" & file_name
        newdir = file_path & "\" & cht2chs(file_name)
        Name olddir As newdir
        file_name = Dir  '下一个文件名
    Loop
    Debug.Print "该文件夹下所有文件重命名处理完成:" & file_path
End Sub

转换效果一般,部分繁体字无法转换
在这里插入图片描述

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

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

相关文章

字节面试官:Rocketmq如何测试?看看我的回答能拿几分?

字节面试&#xff1a;RocketMQ是怎么测试的呢&#xff1f; 答&#xff1a; 首先保证消息的消费正确、设计逆向用例&#xff0c;在验证消息内容为空等情况时的消费正确性&#xff1b; 推送大批量MQ&#xff0c;通过Admin控制台查看MQ消费的情况&#xff0c;是否出现消费假死、…

磨金石教育兴趣技能分享||分享摄影中的“留白”艺术

老子讲&#xff1a;“虚实相生&#xff0c;有无相形”&#xff0c;有与无相对相衬。一幅画的留白可以看出画家胸中的沟壑&#xff0c;也可以看出作品境界的高下。 从某种层面上来讲&#xff0c;摄影也是作画的艺术&#xff0c;一张艺术感高的照片&#xff0c;也需要懂得留白。…

非零基础自学Golang 第2章 安装和运行Go 2.3 在Linux 下安装Go 2.4 在Mac OS 下安装Go

非零基础自学Golang 文章目录非零基础自学Golang第2章 安装和运行Go2.3 在Linux 下安装Go2.4 在Mac OS 下安装Go第2章 安装和运行Go 2.3 在Linux 下安装Go 由于Linux有众多发行版本&#xff0c;笔者这里以 CentOS 7作为示例进行安装介绍&#xff0c;其他发行版本请参考相关发…

C++ Reference: Standard C++ Library reference: Containers: map: cbegin

C官网参考链接&#xff1a;https://cplusplus.com/reference/map/map/cbegin/ 公有成员函数 <map> std::map::cbegin const_iterator cbegin() const noexcept;返回指向开始的const_iterator 返回指向容器第一个元素的const_iterator。 const_iterator是指向const内容的…

带你领略python魔法~免费复制文档数据

前言 嗨喽~大家好呀&#xff0c;这里是魔王呐 ❤ ~ 我们百度搜索一些东西得时候&#xff0c;经常找到文档里面 然后就会发现需要充值才能复制&#xff01;怎么可以不花钱也保存呢&#xff1f; 今天就分享给大家一个python获取文档数据得方法 环境使用: python 3.8 pycharm…

DolphinScheduler 发布 3.0.3 版本,重点修复 6 个 Bug

点亮 ⭐️ Star 照亮开源之路https://github.com/apache/dolphinscheduler近日&#xff0c;Apache DolphinScheduler 发布了 3.0.3 版本。此版本主要基于 3.0.2 版本进行了 Bug 修复&#xff0c;共计修复 6 个 Bug&#xff0c;以及 3 处文档修改。其中的较为重要的 Bug fix 为…

外汇天眼:WTI原油自低位累计反弹9%!欧佩克呼吁“警惕和谨慎”

美国CPI增速创近一年来新低&#xff0c;美元指数失守104.0 周三&#xff08;12月13日&#xff09;公布的美国11月CPI同比增长7.1%&#xff0c;不及预期增长7.3%&#xff0c;前值7.7%&#xff1b;美国11月CPI环比增长0.1%&#xff0c;不及预期增长0.3%&#xff0c;前值0.4%。 从…

专访AliceBob的CEO兼联合创始人:深入探知猫态量子比特

&#xff08;图片来源&#xff1a;网络&#xff09; Alice&Bob公司是一家使用cat量子比特制造容错量子计算机的公司。近日&#xff0c;Alice&Bob的CEO兼联合创始人Thau Peronnin&#xff08;以下简称T&#xff09;接受了记者Yuval Boger&#xff08;以下简称Y&#xff…

Java#37(反射)

目录 一.反射的作用和关键 二. 反射获取对象 1.反射获取类对象 2.反射获取构造器对象 3.反射获取成员变量对象 4. 反射获取方法对象 5.用反射绕过编译阶段为集合添加数据 反射做通用框架 一.反射的作用和关键 作用: 反射是在运行时获取类的字节码文件对象: 然后可以解…

未能加载文件或程序集XXX.dll,程序启动失败的解决方案

之前在VS2019上下载一个项目&#xff0c;运行后就报错&#xff0c;弹出 出错&#xff1a;未能加载文件或程序集XXX.dll 我们选中该dll&#xff0c;右键&#xff0c;属性&#xff0c;发现 该dll被锁定 点击“解决锁定”即可解决。 为了一劳永逸解决此问题&#xff0c;后到微软…

【头歌C语言程序与设计】结构体共用体枚举类型

目录 写在前面 正文 第1关&#xff1a;结构体 第2关&#xff1a;共用体 第3关&#xff1a;枚举类型 写在最后 写在前面 本文代码是我自己所作&#xff0c;本人水平有限&#xff0c;可能部分代码看着不够简练&#xff0c;运行效率不高,但都能运行成功。另外&#xff0c;如…

C++ 智能指针

目录 为什么需要智能指针&#xff1f; RAII 智能指针的原理 C智能指针的历史 智能指针 auto_ptr unique_ptr shared_ptr shared_ptr 引用计数解决智能指针拷贝问题 shared_ptr 循环引用问题 智能指针删除器 weak_ptr 为什么需要智能指针&#xff1f; 1. 我们在很多…

基于 SSM 的 CRM 客户管理系统

1&#xff1a;通过点击【登录】按钮&#xff0c;获取登录的接口地址 2&#xff1a;在UserLoginController类中&#xff0c;增加登录接口 3&#xff1a;首先判断用户名是否存在&#xff0c;其次判断匹配是否匹配 4&#xff1a;处理session问题 代码如下&#xff1a; UserLo…

java计算机毕业设计ssm智能会议室管理系统0v396(附源码、数据库)

java计算机毕业设计ssm智能会议室管理系统0v396&#xff08;附源码、数据库&#xff09; 项目运行 环境配置&#xff1a; Jdk1.8 Tomcat8.5 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xf…

TAPD新增需求自动通知飞书

【实现效果&#xff1a;】TAPD新增需求/缺陷&#xff0c;可以自动通知飞书机器人并通知相关人员&#xff0c;让相关人员可以及时关注到新增需求/缺陷并及时处理。 【流程配置】 第一步&#xff1a;打开腾讯云HiFlow模版中心&#xff0c;搜索打开“TAPD需求/项目更新实时通知飞…

C# !(null包容)运算符的使用

总目录 文章目录总目录前言一、!(null包容&#xff09;运算符是什么&#xff1f;二、!(null包容&#xff09;运算符如何使用&#xff1f;1.使用2.扩展-预处理器指令启用或关闭null检查总结前言 本文主要讲解&#xff01;&#xff08;null包容&#xff09;运算符的使用&#xf…

艾美捷科研专用西妥昔单抗Cetuximab相关介绍

西妥昔单抗&#xff08;Cetuximab&#xff09;&#xff0c;商品名尔必得舒&#xff08;Erbitux&#xff09;&#xff0c;是美商英克隆公司和美商百时美施贵宝的专-利药。西妥昔单抗是一种对抗表皮生长因子受体&#xff08;EGFR&#xff09;的单克隆抗体&#xff0c;经美国食品药…

MySQL表的增删查改(下)

作者&#xff1a;~小明学编程 文章专栏&#xff1a;MySQL 格言&#xff1a;目之所及皆为回忆&#xff0c;心之所想皆为过往 今天给大家分享的是增删查改中的一些比较核心的东西同时也是难点&#xff0c;希望能给大家带来一些帮助吧。 目录 数据库的约束 NULL约束 Unique的…

数据结构C语言版 —— 顺序表增删改查实现

文章目录顺序表1. 线性表2. 顺序表3. 顺序表基本概念4. 顺序表实现顺序表初始化顺序表的扩容顺序表的插入顺序表的删除顺序表的查找顺序表的修改顺序表的销毁5. 顺序表总结顺序表 1. 线性表 线性表&#xff1a;线性表是由n个具有相同特性的数据元素组成的序列。线性表是一种在…

【DevOps】总结下容器方式构建Grafana-reporter生成PDF格式报告

目录 Grafana-reporter1、编写Dockerfile2、构建镜像3、运行Grafana-reporter4、在Grafana配置Link即文章:【DevOps】Prometheus+Grafana:生成pdf报表总结下Grafana-reporter镜像打包过程 最终pdf实现效果类似: Grafana-reporter 简介:“A simple http service that gen…