【发布时间】:2021-05-19 01:07:01
【问题描述】:
我正在使用 VBA 代码将所有文件名从父文件夹捕获到 excel 中,下面的代码对我来说只能捕获一种文件格式,即.xlsm。 有没有办法捕获多种格式的文件,例如 PDF、JPEG、docx。
以下是 VBA 代码:-
Sub getallfiles()
Dim fso As Object
Dim parentfolder As Object
Dim folder As Object
Dim file As Object
Dim filetype As String
i = 1
Filelocation = "C:\Users\USER\Desktop\VBA Practice"
Range("A2").Select
If ActiveCell.Value <> "" Then
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlToRight)).Select
Selection.ClearContents
End If
Set fso = CreateObject("scripting.filesystemobject")
Set parentfolder = fso.Getfolder(Filelocation)
filetype = "*.xlsm*"
Listallfiles parentfolder,filetype
For Each folder In parentfolder.Subfolders
Listallfiles folder, filetype
Next
End Sub
【问题讨论】:
-
什么是
ListAllFiles?请编辑您的问题以提供minimal reproducible example。 -
显而易见的是更改您的文件类型参数。你试过什么?
-
Sub Listallfiles(fld As Object, ftype As Variant, Sh As Works) Dim file as Object For each file in fld.Files If file.Name Like ftype Then ActiveCell.Value = i ActiveCell.Offset( 0, 1).Value = file.Name ActiveCell.Offset(0, 2).Value = fld.Path If Right(fld.Path, 8) = "Treasury" Then ActiveCell.Offset(0, 3).Value = "是" Else ActiveCell.Offset(0, 3).Value = "" End If ActiveCell.Offset(1, 0).Select i = i + 1 End If Next End Sub
-
@Fazil Oleed 在评论中发布代码不是一个好主意。如果需要/需要,请编辑您的问题并将代码放在那里...
-
著名的Fane Duru