我正在寻找帮助我使用VBA代码的人,该代码可以帮助我使用excel中的列中的文件名在目标中找到文件,并复制该文件并将其保存在另一个目标中并使用文件名重命名来自另一栏。
因此,例如我在表单1中有一个列A,名称为1.jpg
,2.jpg
,...我必须从目的地的一组文件中搜索此文件名,比如说C:/Users/Images/
并将其复制到其他位置C:/Users/New_location/
,然后根据同一工作表1中的B列重命名,例如1_new.jpg
,2_new.jpg
。
我创建了一个代码,用于将文件复制到目标但我无法创建一个代码来重命名。
但是,我可以使用VBA代码手动重命名它。但我想自动化它。
请在下面找到手册代码: -
Sub test()
Dim R As Range
Dim SourcePath As String, DestPath As String, FName As String, NewFName As String
Dim Cell As Range
Dim Rng As Range
Dim i As Integer
'Setup source and dest path (Note: must have a trailing backslash!)
SourcePath = "E:\Praveen\Images_Final\"
DestPath = "E:\Praveen\Copy_Test\"
'Visit each used cell in column A
FName = Range("M2").Value
NewFName = Range("N2").Value
FileCopy SourcePath & FName, DestPath & NewFName
FName = Range("M3").Value
NewFName = Range("N3").Value
FileCopy SourcePath & FName, DestPath & NewFName
End Sub
答案 0 :(得分:0)
尝试使用以下代码。它会起作用
注意:如果源文件夹中不存在该文件,则会抛出弹出消息。
Sub test()
Dim SourcePath, DestPath, Fname, NewFName
SourcePath = "E:\Praveen\Images_Final\"
DestPath = "E:\Praveen\Copy_Test\"
For i = 2 To 3
Fname = Range("M" & i).Value
NewFName = Range("N" & i).Value
If Not Dir(SourcePath & Fname, vbDirectory) = vbNullString Then
FileCopy SourcePath & Fname, DestPath & NewFName
Else
MsgBox (Fname & " Not Exists in Folder")
End If
Next i
End Sub