写一个EXCEL宏,查找文件夹C:\Users\DELL\Desktop\ZTE FILES\ORG_FILES里所有的文件名,将他们按文件夹排序放入C:\Users\DELL\Desktop\ZTE FILES文件夹下的工作表''ZTE FILES'里的工作簿'ZTE RENAME'的C2:C单元格里,复制C:\Users\DELL\Desktop\ZTE FILES\ORG_FILES所有的文件,放入C:\Users\DELL\Desktop\ZTE FILES\NEW_FILES文件夹里,工作簿'ZTE RENAME'C列和H列有对应关系,C列C2:C单元格内容和ORG_FILES文件夹里的文件的文件名一致,根据工作簿'ZTE RENAME'里H列单元格和C列单元格的对应关系,用H列单元格的内容重命名在工作簿'ZTE RENAME'C2:C单元格有一致对应关系的NEW_FILES文件夹里的文件的文件名.
时间: 2023-07-12 11:03:44 浏览: 115
将文件夹下所有文件名列到excel里
以下是一个基本的Excel宏,可以完成你的要求。在运行宏之前,请确保已经创建了名为“ZTE RENAME”的工作簿和名为“ZTE FILES”的工作表,并且在“ZTE RENAME”工作簿中已经填写了C2列和H2列的对应关系。
Sub RenameFiles()
'设置文件路径和文件名
Dim orgPath As String
Dim newPath As String
Dim orgFile As String
Dim newFile As String
orgPath = "C:\Users\DELL\Desktop\ZTE FILES\ORG_FILES\"
newPath = "C:\Users\DELL\Desktop\ZTE FILES\NEW_FILES\"
'打开工作簿和工作表
Dim wb As Workbook
Set wb = ThisWorkbook
Dim ws As Worksheet
Set ws = wb.Sheets("ZTE FILES")
'查找文件夹中的所有文件名
orgFile = Dir(orgPath & "*.*")
Dim i As Integer
i = 2
'将文件名写入工作表
Do While Len(orgFile) > 0
ws.Range("C" & i).Value = orgFile
i = i + 1
orgFile = Dir
Loop
'复制所有文件到新文件夹
Dim sourceFile As String
Dim destFile As String
For i = 2 To ws.Range("C" & Rows.Count).End(xlUp).Row
sourceFile = orgPath & ws.Range("C" & i).Value
destFile = newPath & ws.Range("H" & i).Value
FileCopy sourceFile, destFile
Next i
'重命名新文件夹中的文件
For i = 2 To ws.Range("C" & Rows.Count).End(xlUp).Row
orgFile = newPath & ws.Range("C" & i).Value
newFile = newPath & ws.Range("H" & i).Value
Name orgFile As newFile
Next i
End Sub
阅读全文