2011-09-22 151 views
12

這是我需要做的事情。我在Excel表中有這兩列。用文件名。第一列具有當前文件名,第二列具有我要將文件重命名爲的名稱。我需要使用它,因爲在重命名中沒有任何模式。例如,下面可能是一組文件...使用Excel VBA重命名文件

Current Name > Rename To 
--------------------------- 
Abc.jpg  > Dinner.jpg 

Xyz.jpg  > Driving.jpg 

123.jpg  > Sunset.jpg 

我知道這應該很容易做到這一點的VBA,但不完全知道如何。任何幫助將非常感激。

回答

27

我認爲你可以這樣做,使用Name函數重命名文件,但是,您可能需要確保2列有完整的文件路徑,即「C:\ Temp \ ABC.jpg 「

Dim Source As Range 
Dim OldFile As String 
Dim NewFile As String 

Set Source = Cells(1, 1).CurrentRegion 

For Row = 1 To Source.Rows.Count 
    OldFile = ActiveSheet.Cells(Row, 1) 
    NewFile = ActiveSheet.Cells(Row, 2) 

    ' rename files 
    Name OldFile As Newfile 

Next 
+2

+1。可能值得添加空白和重複文件名的檢查 – brettdj