写一个批量修改文件名的宏
时间: 2024-09-28 09:12:15 浏览: 38
在VBA中编写一个批量修改文件名的宏可以帮助你在需要的时候快速对一组文件进行统一的操作。这里是一个简单的例子,它会将当前目录下所有`.txt`文件的名称替换为新格式(例如添加序号)。假设你想将文件名改为“Document_序号.txt”:
```vba
Sub BatchRenameFiles()
Dim oldPath As String, newPath As String, fileNum As Long
Dim fso As Object, files() As File
Dim fileName As String
' 设置初始路径和新文件名格式
oldPath = ActiveWorkbook.Path & "\*.txt" ' 根据需要调整路径
newPath = ActiveWorkbook.Path & "\Document_" & Format(fileNum, "0000") & ".txt"
' 创建File对象集合并开始遍历
Set fso = CreateObject("Scripting.FileSystemObject")
Set files = fso.GetFolder(oldPath).Files
For Each file In files
fileName = file.Name
' 使用正则表达式提取原始文件名部分,然后拼接新格式
' 这里假设原文件名前没有其他字符
file.Move OldItem:=file.Path & "\" & fileName, NewItem:=newPath
fileNum = fileNum + 1
Next file
MsgBox "所有文本文件的命名已完成.", vbInformation, "文件重命名完成"
End Sub
```
运行这个宏后,它会在指定目录下查找所有的`.txt`文件,并将其名字按照预设格式进行更新。记得保存宏到VBA编辑器(通常是VBAProject中的Modules)才能运行。
阅读全文