excel 无法将文件(.pdf/.jpeg/.jpg)从一个文件夹复制到另一个文件夹

0ve6wy6x  于 2023-01-06  发布在  其他
关注(0)|答案(1)|浏览(213)

使用2010 Excel VBA -我需要在“C:\ECB Test\ECB IR COPY”中查找名称中包含分支代码的图像/pdf,并将其粘贴到“C:\ECB Test\”RO(如果存在)。如果不存在,程序需要突出显示分行代码。
(File名称示例:28-高知-ecb-sdwan已完成. pdf,23 eCB高知代码已完成. pdf/0036.jpeg)
在为另外两个Excel工作表(4K+单元格)手动做了两次之后,我决定弗兰肯斯坦一个模块在一起,嗯,它不起作用,我不知道为什么。

Sub Sort()

    Const SRC_PATH As String = "C:\ECB Test\ECB IR COPY"
    Const DEST_PATH As String = "C:\ECB Test"
    
    Dim Row_Number As Integer
    Dim fso As Object
    Set fso = VBA.CreateObject("Scripting.FileSystemObject")
    Dim Folder_Name As String
    Dim Branch_Code As String
    Dim Final_Path As Variant
    Dim File As String

        For Row_Number = 3 To 2465
        
            Branch_Code = Worksheets("WAN RFP").Cells(Row_Number, 2)
            Folder_Name = Worksheets("WAN RFP").Cells(Row_Number, 5)
            
            On Error Resume Next
    
            File = Dir(SRC_PATH & "\*" & Branch_Code & "*")
            Final_Path = Dir(DEST_PATH & "\" & Folder_Name & "\")
            
            If (Len(File) > 0) Then
                Call fso.CopyFile(File, Final_Path)
            Else
            Cells(Row_Number, 2).Interior.ColorIndex = 6
            End If
            On Error GoTo 0

            DoEvents
        Next Row_Number

End Sub

我认为它不能使用分支代码变量作为通配符,虽然我可能已经做了一些愚蠢的地方代码。有人能帮我吗?

62lalag4

62lalag41#

问题是您使用的是目标路径而不是源路径:

File = Dir(DEST_PATH & "*" & Branch_Code & "*.*")

改成

File = Dir(SRC_PATH & "*" & Branch_Code & "*.*")

相关问题