Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Excel VBA重命名文件_Excel_Vba_Rename - Fatal编程技术网

使用Excel VBA重命名文件

使用Excel VBA重命名文件,excel,vba,rename,Excel,Vba,Rename,这是我需要做的。我在excel表格中有这两列。使用文件名。第一列具有当前文件名,第二列具有我希望重命名文件的名称。我需要使用这个,因为重命名中没有模式。例如,下面可能是一组文件 Current Name > Rename To --------------------------- Abc.jpg > Dinner.jpg Xyz.jpg > Driving.jpg 123.jpg > Sunset.jpg 我知道在VB

这是我需要做的。我在excel表格中有这两列。使用文件名。第一列具有当前文件名,第二列具有我希望重命名文件的名称。我需要使用这个,因为重命名中没有模式。例如,下面可能是一组文件

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

Xyz.jpg       >  Driving.jpg

123.jpg       >  Sunset.jpg

我知道在VBA中实现这一点应该很容易,但不确定如何实现。任何帮助都将不胜感激。

我认为您可以这样做,使用
Name
函数重命名文件,但是,您可能需要确保两列具有完整的文件路径,即“C:\Temp\ABC.jpg”


+1.可能值得添加空白和重复文件名检查
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