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我的个人图书馆查看。 |
|