上面的公式修改一下,工作表''ZTE FILES'和工作簿'ZTE RENAME'是已经存在的
时间: 2023-12-23 17:05:04 浏览: 20
好的,以下是修改后的Excel VBA宏代码:
```VBA
Sub RenameFiles()
Dim orgFolder As String, newFolder As String, renameWorkbook As Workbook
Dim renameSheet As Worksheet, orgFiles As Variant, i As Integer
' 设置文件夹路径和工作簿、工作表
orgFolder = "C:\Users\DELL\Desktop\ZTE FILES\ORG_FILES\"
newFolder = "C:\Users\DELL\Desktop\ZTE FILES\NEW_FILES\"
Set renameWorkbook = Workbooks("ZTE RENAME.xlsx")
Set renameSheet = renameWorkbook.Worksheets("ZTE RENAME")
' 获取ORG_FILES目录下所有文件名
orgFiles = Filter(Split(CreateObject("WScript.Shell").Exec("CMD /C DIR """ & orgFolder & "*.*"" /B /A:-D").StdOut.ReadAll, vbCrLf), ".")
' 将文件名按文件夹排序放入工作簿'ZTE RENAME'的C2:C里
renameSheet.Range("C2:C" & UBound(orgFiles) + 2).Value = WorksheetFunction.Transpose(orgFiles)
renameSheet.Range("C2:C" & UBound(orgFiles) + 2).Sort Key1:=renameSheet.Range("C2"), Order1:=xlAscending, Header:=xlYes
' 复制ORG_FILES目录下所有文件到NEW_FILES目录
For i = 0 To UBound(orgFiles)
FileCopy orgFolder & orgFiles(i), newFolder & orgFiles(i)
Next i
' 根据C列和H列的对应关系,重命名NEW_FILES目录下的文件
For i = 2 To renameSheet.Range("C" & Rows.Count).End(xlUp).Row
Name newFolder & renameSheet.Range("C" & i).Value As newFolder & renameSheet.Range("H" & i).Value
Next i
MsgBox "完成文件重命名!"
End Sub
```
请根据你的实际情况修改文件夹路径和工作簿、工作表名称。