分享

文件夹目录生成,文件夹自动生成目录

 虞落星痕 2019-06-17

Q1: Excel如何生成各文件夹目录,并超链接最终文件

Dim arr(), m&

Sub Macro1()

Dim Fso As Object, a, i&, j&, n&, brr()

Application.ScreenUpdating = False

Set Fso = CreateObject('Scripting.FileSystemObject')

p = ThisWorkbook.Path & '\2012-3-1'

sFileType = '*.pdf'

Call GetFiles(p, sFileType, Fso)

ReDim brr(1 To m, 1 To 4)

[a1].CurrentRegion.Offset(1).ClearContents

With ActiveSheet

For i = 1 To m

a = Split(arr(i), '\')

n = 0

For j = UBound(a) - 3 To UBound(a) - 1

n = n + 1

brr(i, n) = a(j)

Next

brr(i, 4) = Replace(a(j), '.pdf', '') '

.Hyperlinks.Add Anchor:=Cells(i + 1, 4), Address:=arr(i)

Next

End With

[a2].Resize(m, 4) = brr

m = 0

Erase arr

Set Fso = Nothing

Application.ScreenUpdating = True

End Sub

Private Sub GetFiles(ByVal sPath$, ByVal sFileType$, Fso As Object)

Dim Folder As Object

Dim SubFolder As Object

Dim File As Object

Set Folder = Fso.GetFolder(sPath)

For Each File In Folder.Files

If File.Name Like sFileType Then

m = m + 1

ReDim Preserve arr(1 To m)

arr(m) = sPath & '\' & File.Name

End If

Next

If Folder.SubFolders.Count > 0 Then

For Each SubFolder In Folder.SubFolders

Call GetFiles(SubFolder.Path, sFileType, Fso)

Next

End If

Set Folder = Nothing

Set File = Nothing

Set SubFolder = Nothing

End Sub

Www.jiZhu@ba.cOm

Q2: 如何生成一个文件夹内的所有文件的文件列表?

使用DOS命令中的dir就可以生成这样的文本文件。下面介绍具体操作方法。1.这里假设文件夹为为D:\123。
2.以Windows XP操作系统为例,单击“开始|运行”,输入cmd,然后单击“确定”。
3.在命令提示符窗口中输入以下命令,dir d:\123 >c:\filelist.txt
这样就在C:盘根目录下生成了一个名为“filelist.txt”的文本文件,该文件中即包含文件夹D:\123 里面的所有文件的详细列表。
如果希望将D:盘中子目录中的文件和文件夹列表也全部列出来,可以在命令提示符窗口中输入以下命令。dir d:\ /s >c:\filelist.txt
如果使用下面的命令,即加一个/b,则会生成一个简单的文件名列表,不包括其它信息,这种方法可能更加实用一些。dir d:\ /s /b >c:\filelist.txt

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多