0

私は 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”)

このコードを正しい方法で使用していますか? または、このタスクを達成するための代替方法はありますか?

ありがとう!

4

1 に答える 1