You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

除Name语句与FileSystemObject.MoveFile外,如何重命名Excel工作簿?

工作簿重命名的其他实现方法

假设桌面上有一个名为Test.xlsm的工作簿,需要在同一路径下将其重命名为Test2.xlsm,除了已知的Name语句和FileSystemObject方法外,还有以下几种实现方式:

方法1:调用Shell执行DOS命令

通过VBA调用系统Shell执行ren命令完成重命名,适合处理未打开的文件:

Sub Rename_using_Shell_DOS()
    Dim oldName As String, newName As String
    oldName = "D:\Users\UserName\Desktop\Test.xlsm"
    newName = "D:\Users\UserName\Desktop\Test2.xlsm"
    
    ' 路径含空格时需用引号包裹,避免命令执行出错
    Shell "cmd /c ren """ & oldName & """ """ & newName & """", vbHide
End Sub

方法2:调用Shell执行PowerShell命令

利用PowerShell的Rename-Item cmdlet实现,适用于未打开的文件:

Sub Rename_using_Shell_PowerShell()
    Dim oldName As String, newName As String
    oldName = "D:\Users\UserName\Desktop\Test.xlsm"
    newName = "D:\Users\UserName\Desktop\Test2.xlsm"
    
    ' 构建PowerShell命令,路径用引号包裹
    Shell "powershell -Command Rename-Item -Path """ & oldName & """ -NewName """ & newName & """", vbHide
End Sub

方法3:通过Excel对象模型(针对打开的工作簿)

如果目标工作簿处于打开状态,可通过另存为新名称再删除原文件的方式实现:

Sub Rename_using_Excel_Object_Model()
    Dim wb As Workbook
    Dim oldPath As String, newPath As String
    
    oldPath = "D:\Users\UserName\Desktop\Test.xlsm"
    newPath = "D:\Users\UserName\Desktop\Test2.xlsm"
    
    ' 打开原工作簿
    Set wb = Workbooks.Open(oldPath)
    
    ' 按原格式另存为新名称
    wb.SaveAs Filename:=newPath, FileFormat:=wb.FileFormat
    
    ' 关闭新保存的工作簿
    wb.Close SaveChanges:=False
    
    ' 删除原文件
    Kill oldPath
End Sub

方法4:使用WScript.Shell对象

通过WScript.Shell的Run方法执行重命名操作,支持控制窗口显示和等待命令执行完成:

Sub Rename_using_WScript_Shell()
    Dim wsShell As Object
    Dim oldName As String, newName As String
    
    oldName = "D:\Users\UserName\Desktop\Test.xlsm"
    newName = "D:\Users\UserName\Desktop\Test2.xlsm"
    
    Set wsShell = CreateObject("WScript.Shell")
    
    ' 0表示隐藏窗口,True表示等待命令执行完成
    wsShell.Run "cmd /c ren """ & oldName & """ """ & newName & """", 0, True
End Sub

内容的提问来源于stack exchange,提问作者Waleed

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 09:16:35