ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > E问E答 > Excel VBA > 如何在使用中更改文件名(非直接方式)?

如何在使用中更改文件名(非直接方式)?

作者:绿色风 分类: 时间:2022-08-17 浏览:136
楼主
kevinchengcw
Q: 如何在使用中更改文件名(非直接方式)?
A: 使用中的文件一般没有办法直接更名(包括窗口上的文件标题),但是我们利用代码可以用另外一种方式来实现这一功能,代码如下:
  1. Sub test()
  2. Dim fPath, oName, nName As String
  3. Application.ScreenUpdating = False  '关闭屏幕刷新,这样你只会看到标题的变化
  4. Application.DisplayAlerts = False  '关闭警告信息
  5. oName = ThisWorkbook.FullName  '记下文件全名(含路径)
  6. fPath = ThisWorkbook.Path   '记下文件路径
  7. Do  '循环生成当前路径下没有的文件名
  8.     nName = "Test" & Int(Rnd * 1000) & ".xls"
  9. Loop While Dir(fPath & "\" & nName) <> ""   '当文件名存在时再循环生成
  10. With ThisWorkbook
  11.     .ChangeFileAccess xlReadOnly   '更改当前文件的访问方式为只读,即与文件断开联系
  12.     .SaveAs fPath & "\" & nName   '将当前内存中的当前工作簿另存为相同路径下的新名字
  13. End With
  14. Kill oName  '删除旧的文件
  15. Application.DisplayAlerts = True   '打开警告信息
  16. Application.ScreenUpdating = True  '打开屏幕刷新
  17. End Sub


运行此段代码,将在当前工作簿所在文件夹内生成一个以Test开头的随机名excel文件,并删除旧有文件,你会发现文件标题上的文件名也变成了新的文件名了,所有的操作都指向新的文件。

附示例文件。
Test774.rar
2楼
亡者天下
个人觉得还是直接改方便!

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap