我已经在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