打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
使用VBA重命名文件:5个代码示例
userphoto

2022.07.10 四川

关注
excelperfect

标签:VBAName方法
使用Name命令来重命名文件。
示例1:重命名文件
下面的代码将文件从date.xlsx重命名为date-重命名.xlsx
Sub RenameFile()
    Name 'D:\完美Excel\date.xlsx' As _
        'D:\完美Excel\我的文章\date-重命名.xlsx'
End Sub
示例2:基于单元格值重命名文件
如下图1所示,单元格C2中是当前文件名称,单元格C4中是新文件名称。
1
使用单元格值来重命名文件的代码:
Sub RenameFileUseCellValue()
    Name ActiveSheet.Range('C2') As _
        ActiveSheet.Range('C4')
End Sub
示例3:使用Name命令移动文件
注意到Name命令需要文件路径和文件名吗?因此,该命令不仅可以重命名文件,还可以移动文件。例如,下面的代码将文件从D:\完美Excel\移动到D:\完美Excel\我的文章\,但文件名保持不变。
Sub MoveFile()
    Name 'D:\完美Excel\stores.xlsx' As _
        'D:\完美Excel\我的文章\stores.xlsx'
End Sub
示例4:重命名文件时避免错误
移动文件可能会引发错误。为了避免执行Visual Basic错误调试过程,可以显示一个带有确定按钮的消息框。
Sub AdvancedRenameFile()
    Dim filePath As String
    Dim newFilePath As String
    filePath = 'D:\完美Excel\stores.xlsx'
    newFilePath = 'D:\完美Excel\stores-重命名.xlsx'
    On Error Resume Next
    Name filePath As newFilePath
    If Err.Number <> 0 Then
        MsgBox Prompt:='不能重命名文件', _
            Buttons:=vbOKOnly, _
            Title:='重命名文件错误'
    End If
    On Error GoTo 0
End Sub
示例5:可重用函数
可以创建一个可重用函数。下面的VBA自定义函数接受两个参数:现有文件路径和新文件路径。
Function RenameFile(filePath As String, newFilePath As String)
    On Error Resume Next
    Name filePath As newFilePath
    If Err.Number <> 0 Then
        RenameFile = False
    Else
        RenameFile = True
    End If
  
    On Error GoTo 0
End Function
可以有两种方式使用这个函数:
1.从另一个过程调用。
Sub CallRenameFile()
    Dim filePath As String
    Dim newFilePath As String
    filePath = 'D:\完美Excel\stores.xlsx'
    newFilePath = 'D:\完美Excel\stores-重命名.xlsx'
    MsgBox RenameFile(filePath, newFilePath)
End Sub
返回包含“True”的消息框,表示文件被重命名;返回包含“False”的消息框,表示发生错误。
2.在工作表中像Excel内置函数一样调用。
2
TRUE表示以单元格C2中值命名的文件已成功重命名为单元格C4中值的文件。如果我们再次运行该函数,它将显示FALSE,因为文件已经重命名。
可能的错误
如果试图重命名不存在的文件或文件夹路径,则会触发错误:运行时错误'53’:未找到文件。如果新文件名与现有文件名相同,则会触发以下错误:运行时错误’58’:文件已存在。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
F1-F12键的功能大全,请收藏!不知道的别说Excel玩的溜!
插上翅膀,让Excel飞起来——xlwings(一)
零代码编程:用ChatGPT根据excel表格数据来批量修改文件标题名
【Excel函数】&的基本用法
Excel函数学习50:SUMPRODUCT函数
纯手工操作Auto CAD内表格数据导出为Office Excel表格数据之法
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服