你是否因为文件夹内文件过多而烦恼?你是否想快速为文件制作一份目录表?
当我的文件越来越多,表格越来越多的时候,我开始思考,是否可以为文件制作一份目录表格,并为此添加链接。最终,我利用VBA编辑了一段语言,通过遍历文件夹内的文件及文件夹,在Excel表内填写文件名称,并添加相应链接。
为宏添加一个按钮,真正的实现了一键快速制作目录表。
(Excel需要启用宏,否则宏无法执行。开发工具,宏安全性,宏设置,启用所有宏)
具体宏代码如下:
Sub 提取文件名称()
Dim fs As Object
Dim MyFile As String
'******************************************
'选择文件夹
With Application.FileDialog(msoFileDialogFolderPicker)
.AllowMultiSelect = False
If .Show Then 地址 = .SelectedItems(1) Else Exit Sub
End With
'******************************************
'提取文件夹名
n = 1
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.getfolder(地址)
For Each fd In f.subfolders 'subfolders子文件夹的意思
链接 = 地址 & "" & fd.Name
Cells(n, 1).Hyperlinks.Add Anchor:=Cells(n, 1), Address:=链接, TextToDisplay:=fd.Name
n = n + 1
Next
Set f = Nothing
Set fs = Nothing
'******************************************
'提取文件名
MyFile = Dir(地址 & "*.*")
Do While MyFile <> ""
MyFile = Dir
If MyFile = "" Then Exit Do
链接 = 地址 & "" & MyFile
Cells(n, 1).Hyperlinks.Add Anchor:=Cells(n, 1), Address:=链接, TextToDisplay:=MyFile
n = n + 1
Loop
MsgBox "完成!"
End Sub