使用Excel VBA批量重命名文件

当需要对电脑文件夹里的文件进行批量重命名时,我们可以借助Excel VBA来实现。下面将介绍如何使用Excel VBA来批量重命名文件。1. 打开VBA编辑器首先,打开Excel工作表,在键盘上按下【

当需要对电脑文件夹里的文件进行批量重命名时,我们可以借助Excel VBA来实现。下面将介绍如何使用Excel VBA来批量重命名文件。

1. 打开VBA编辑器

首先,打开Excel工作表,在键盘上按下【Alt F11】组合键,便可打开VBA编辑器。

2. 插入模块

在VBA编辑器的菜单栏上点击【插入】、【模块】,此时会出现一个代码窗口。

3. 输入VBA程序代码

在模块的代码窗口里输入以下VBA程序代码:

Sub ChangeFileName()

Dim fs, fo, fi, fil, str, na, ty, k, k1, k2

On Error Resume Next '忽略运行过程中可能出现的错误

Set fs CreateObject("") '创建并返回对计算机系统文件的访问

Set fo ("D:ABC") '定义文件夹,“ABC”为D盘下边的文件夹

Set fi '定义文件夹下边所有文件集

For Each fil In fi '获取文件夹里面所有的文件

na '获取文件名称

k1 0 '每执行1行则初始化一次

k2 0

Do

k2 k2 1

k k1 'k用来存放上次k1的值

k1 InStr(k1 1, na, ".") 'k1为“.”所在的位置

If k1 0 And k > 0 Then '如果“.”为文件后缀名的点

str Mid(na, 1, k - 1) '截取文件名(不含文件类型)

ty Right(na, Len(na) - k 1) '从右侧截文件类型

Exit Do '退出Do循环

ElseIf k1 0 And k 0 Then '如果没有文件后缀名,则

str na

ty ""

Exit Do

End If

If k2 1000 Then '如果do循环超过1000次则强行退出

Exit Do

End If

Loop

str "_2018-07-14" ty '对文件重命名

Next

MsgBox "文件重命名完成,请不要再运行程序!"

End Sub

4. 运行程序

在运行该程序之前,需要先对文件夹里边的文件进行备份。在VBA编辑器界面上按下【F5】键运行程序,就能看到文件夹里的所有文件都被重命名了。

5. 程序、思路解读

通过VBA获取的文件名是带有后缀名的。借助Instr函数,我们可以判断“.”所在的位置,使用Mid和Right函数截取文件名和后缀名,并将它们拼接起来,从而实现对文件的重命名操作。

“If k10 And k<>0 Then” 条件说明已经找到了后缀名所在的位置。之后就可以执行截操作了。

使用Do循环时,应当避免死循环的出现。为了防止这种情况的发生,我们可以添加一个条件,如:k2大于1000时,就强制退出Do循环,以免软件卡死。

Len是获取字符串长度的函数。

6. VBS脚本程序重命名文件

除了使用Excel VBA批量重命名文件,我们还可以将程序代码写入vbs脚本程序里边,然后通过脚本程序重命名文件。具体步骤如下:

(1) 新建一个文本文档,然后把“Sub ChangeFileName()……End Sub”的代码复制到文本文档里边。(即:除了“Sub ChangeFileName()”和“End Sub”)

(2) 把文本文档的后缀名(.txt)改成(.vbs),文件名可自拟,再双击该vbs脚本程序即可重命名。(如果已经使用VBA重命名,就不要运行vbs脚本程序重命名)。

总之,使用Excel VBA或者编写vbs脚本程序,都能实现批量重命名文件的功能,选择适合自己的方式即可。

标签: