Dim fso As Object, file_path$, gfd, f '公共变量
Sub 获取文件夹下所有文件名()
file_path = "D:\研究生课程\stata\第四次作业\公司数据" '指定文件夹
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 SubSub 文件重命名()
'对固定文件夹中文件重命名,适用以上sub获取的文件名(只要文件存在即可)
Dim arr, i&, file_path$, olddir$, newdir$
arr = [a1].CurrentRegion.Value
file_path = "D:\研究生课程\stata\第四次作业\公司数据" '指定文件夹
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