使用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
我认为它不能使用分支代码变量作为通配符,虽然我可能已经做了一些愚蠢的地方代码。有人能帮我吗?
1条答案
按热度按时间62lalag41#
问题是您使用的是目标路径而不是源路径:
改成