我已經在excel中創建了該宏,使用戶可以將多個文件從一個文件夾複製到另一個文件夾。宏的工作原理,它做它應該做的事。我只是想添加一些額外的功能,我不能使它工作。這些是我想要添加的幾件事:excel vba宏將多個文件從文件夾複製到文件夾
1檢查目標文件夾中是否存在文件,並詢問用戶是否要覆蓋yes/no。如果是覆蓋,則不跳至下一個要複製的文件。
2-如果源文件夾中缺少文件,ErrHandler會將缺少的文件的名稱從A列複製到M列。我做到這一點的方式很有效,但這不是我想要的。我想要的是,如果單元格A3,A7,A10中的文件名缺失。這些名字應該被複制到M1,M2,M3等等。而不是將它們複製到M3,M7,M10
的,我也有其他的2個問題:
1的出現更比它應該ErrHandler消息框。一旦複製完成,它仍然顯示2次。
2 - 宏重寫它如何寫入文件名。例如,如果原始文件名是以小寫字母和單元格寫的,我會用大寫字母寫。一旦文件被複制,它將被寫入大寫。我想保留原來的名字。
Dim r As Long
Dim SourcePath As String
Dim dstPath As String
Dim myFile As String
SourcePath = Range("F1")
dstPath = Range("F3")
On Error GoTo ErrHandler
For r = 1 To 3000
myFile = Range("A" & r)
FileCopy SourcePath & "\" & myFile, dstPath & "\" & myFile
If Range("A" & r) = "" Then
Exit For
End If
Next r
MsgBox "The file(s) can found in: " & vbNewLine & dstPath, , "COPY COMPLETED"
ErrHandler:
MsgBox "Copy error: " & SourcePath & "\" & myFile & vbNewLine & vbNewLine & _
"File could not be found in the source folder", , "MISSING FILE(S)"
Range("A" & r).Copy Range("M" & r)
Resume Next
End Sub