我想要一个带有特定扩展名的文件名列表。
我正在使用本指南:https://trumpexcel.com/list-of-file-names-from-a-folder-in-excel/
代码不返回任何值。
我输入了公式,似乎返回了值,但是,它导致错误。我删除了IfError来测试它是否仍然有效。查看屏幕截图:
将完整公式与IfError一起使用,什么也不会发生,这是不应该发生的:
完整公式不返回任何内容
Function GetFileNamesbyExt(ByVal FolderPath As String, FileExt As String) As Variant
Dim Result As Variant
Dim i As Integer
Dim MyFile As Object
Dim MyFSO As Object
Dim MyFolder As Object
Dim MyFiles As Object
Set MyFSO = CreateObject("Scripting.FileSystemObject")
Set MyFolder = MyFSO.GetFolder(FolderPath)
Set MyFiles = MyFolder.Files
ReDim Result(1 To MyFiles.Count)
i = 1
For Each MyFile In MyFiles
If InStr(1, MyFile.Name, FileExt) <> 0 Then
Result(i) = MyFile.Name
i = i + 1
End If
Next MyFile
ReDim Preserve Result(1 To i - 1)
GetFileNamesbyExt = Result
End Function
答案 0 :(得分:0)
我设法解决了这个问题。原来我的Row()部分是错误的。
由于我将公式放在第47行中,所以我的公式应该是:
=IFERROR(INDEX(GetFileNamesbyExt($CK$44,$CK$45),ROW()-46),"")
非常感谢大家!