私は 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”)
このコードを正しい方法で使用していますか? または、このタスクを達成するための代替方法はありますか?
ありがとう!