Я новичок в VBA, и я очень благодарен за любую помощь с этой программой!
Цель этой программы - скопировать файлы всех определенных типов (.pdf) из сети в папку на рабочем столе. Однако файлы (.pdf) находятся в каждой из вложенных папок.
Если у меня есть пользователь, определяющий папку (со множеством подпапок), я хотел бы, чтобы программа копировала каждый .pdf из каждой подпапки в целевую папку.
Это то, что я получил так далеко от работы в Интернете.
Sub Copy_test2()
Dim FSO As Object, fld As Object
Dim fsoFile As Object
Dim fsoFol As Object
FromPath = "D:\Users\A\Desktop\test1" 'user will define this
ToPath = "D:\Users\A\Desktop\test2" 'this will be the folder on the desktop
If Right(FromPath, 1) <> "\" Then
FromPath = FromPath & "\"
End If
Set FSO = CreateObject(“Scripting.FileSystemObject”)
Set fld = FSO.GetFolder(FromPath)
If FSO.FolderExists(fld) Then
For Each fsoFol In FSO.GetFolder(FromPath).subfolders
For Each fsoFile In fsoFol.Files
If Right(fsoFile, 3) = “pdf” Then
fsoFile.Copy ToPath
End If
Next
Next
End If
End Sub
Когда я запускаю его, я получаю: Ошибка выполнения '424' Объект, необходимый для
Set FSO = CreateObject(“Scripting.FileSystemObject”)
Правильно ли я использую этот код? или есть альтернативный способ выполнить эту задачу?
Спасибо!