分享

VBA重命名当前excel文件(重命名自身)

 莫怜飘逸 2023-09-20

VBA对excel改名可以用Name,但是用Name对自身改名时会因为文件处于打开状态而导致报错,想要对当前代码所在的excel文件改名,可以通过另存为新的Excel借此改名,再删除原来的Excel,就间接达到了自身重命名的目的。代码如下:

Sub 重命名当前Excel文件()
Excel_path = ThisWorkbook.Path      '返回当前工作簿路径
Excel_FullName = ThisWorkbook.FullName   '返回当前工作簿路径和名称
  ActiveWorkbook.SaveAs Filename:=Excel_path & "\" & "重命名文件.xlsx"   '另存为
Kill Excel_FullName   '删除原工作簿
End Sub

如果想要省略后缀名的填写,可以增加对后缀名的识别,代码如下:

Sub 重命名当前Excel文件()
NewExcel_name = "重命名文件"   '定义文件的重命名(无需后缀)
Excel_path = ThisWorkbook.Path      '返回当前工作簿路径
Excel_FullName = ThisWorkbook.FullName   '返回当前工作簿路径和名称
Excel_Name = ThisWorkbook.Name       '返回当前工作簿名称
Excel_BaseName = CreateObject("scripting.filesystemobject").getbasename(book_name)       '返回基文件名称
suffix = Replace(book_name, book_basename, "")  '获取后缀名
ActiveWorkbook.SaveAs Filename:=Excel_path & "\" & NewExcel_name & suffix     '另存为
Kill Excel_FullName   '删除原工作簿
End Sub

以上内容对您有帮助可以分享或转藏,避免以后找不到。想要了解更多VBA相关知识,欢迎到http://moqingyan.360doc.com我的个人图书馆查看。

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多