Step1:新建工作簿
打开Excel,新建一个工作簿,按下Alt+F11,打开VBA编辑器。
Step2:编写VBA代码
在项目窗格中选择新建一个模块,输入以下VBA代码:
Sub GetFilesName()
Dim ObjFso As Object
Dim ObjFolder As Object
Dim ObjFile As Object
Dim i As Integer
Set ObjFso = CreateObject(\"Scripting.FileSystemObject\")
Set ObjFolder = ObjFso.GetFolder(\"文件夹路径\")
For Each ObjFile In ObjFolder.Files
Cells(i + 1, 1) = ObjFile.Name
i = i + 1
Next
Set ObjFso = Nothing
Set ObjFolder = Nothing
Set ObjFile = Nothing
End Sub
Step3:修改文件夹路径
将代码中的“文件夹路径”替换成实际文件夹的路径。例如:“D\\pictures”。
Step4:运行VBA代码
返回Excel窗口,按下F5运行VBA代码。代码将会自动执行,将文件夹中所有文件名写入Excel工作表中。
Step5:优化操作
为了避免每次运行VBA代码,都需要手动修改文件夹路径,我们可以通过Excel宏编写功能,使得代码在需要获取文件夹中文件名的时候自动运行。具体步骤如下:
- 复制上述VBA代码。
- 按下Alt+F8,打开“宏”对话框,输入宏名,点击“创建”。
- 在“宏编辑器”窗口粘贴VBA代码,去掉“Sub”和“End Sub”,留下中间内容。
- 打开Excel工作簿,按下Alt+F11,打开VBA编辑器,选择“这台电脑”的项目,并右键选择“插入-模块”,将代码粘贴进去。
- 将文件夹路径改成动态变量:
Sub Auto_Open()
Dim MyFolderPath As String
MyFolderPath = \"D\\pictures\"
Call GetFilesName(MyFolderPath)
End Sub
Sub GetFilesName(MyFolderPath As String)
Dim ObjFso As Object
Dim ObjFolder As Object
Dim ObjFile As Object
Dim i As Integer
Set ObjFso = CreateObject(\"Scripting.FileSystemObject\")
Set ObjFolder = ObjFso.GetFolder(MyFolderPath)
For Each ObjFile In ObjFolder.Files
Cells(i + 1, 1) = ObjFile.Name
i = i + 1
Next
Set ObjFso = Nothing
Set ObjFolder = Nothing
Set ObjFile = Nothing
End Sub
总结
通过上述方法,我们可以用Excel轻松地获取文件夹中的文件名。VBA代码和宏可以帮助我们实现自动化处理,大大提高工作效率。这个技巧不仅适用于文件名的获取,也可以应用到其他需要批量处理的操作上。