Я хотел бы повторить объект в Excel VBA.Но он показывает ошибку «Ошибка времени выполнения 438. Объект не поддерживает это свойство или метод».
Sub FunctionTest()
Dim src, dist, production As Workbook
Dim files As Object
Set dist = ThisWorkbook
Set files = getFiles(dist.path)
For Each file In files
Debug.Print file.Name
Next
End Sub
Function getFiles(path As String) As Object
Dim fsObject, folderObj, FileObj As Object
Set fsObject = CreateObject("Scripting.FileSystemObject")
Set folderObj = fsObject.GetFolder(path)
Set filesObj = folderObj.files
Set getFiles = fsObject
End Function
Но это хорошо работает, если не возвращен объект, подобный этому.
Function getFiles(path As String) As Object
Dim fsObject, folderObj, FileObj As Object
Set fsObject = CreateObject("Scripting.FileSystemObject")
Set folderObj = fsObject.GetFolder(path)
Set filesObj = folderObj.files
For Each file In filesObj
Debug.Print file.Name
Next
Set getFiles = fsObject
End Function