前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用VBA重命名文件:5个代码示例

使用VBA重命名文件:5个代码示例

作者头像
fanjy
发布2022-11-16 10:58:45
1.9K0
发布2022-11-16 10:58:45
举报
文章被收录于专栏:完美Excel

标签:VBA,Name方法

使用Name命令来重命名文件。

示例1:重命名文件

下面的代码将文件从date.xlsx重命名为date-重命名.xlsx

代码语言:javascript
复制
Sub RenameFile()
    Name "D:\完美Excel\date.xlsx" As _
        "D:\完美Excel\我的文章\date-重命名.xlsx"
End Sub

示例2:基于单元格值重命名文件

如下图1所示,单元格C2中是当前文件名称,单元格C4中是新文件名称。

图1

使用单元格值来重命名文件的代码:

代码语言:javascript
复制
Sub RenameFileUseCellValue()
    Name ActiveSheet.Range("C2") As _
        ActiveSheet.Range("C4")
End Sub

示例3:使用Name命令移动文件

注意到Name命令需要文件路径和文件名吗?因此,该命令不仅可以重命名文件,还可以移动文件。例如,下面的代码将文件从D:\完美Excel\移动到D:\完美Excel\我的文章\,但文件名保持不变。

代码语言:javascript
复制
Sub MoveFile()
    Name "D:\完美Excel\stores.xlsx" As _
        "D:\完美Excel\我的文章\stores.xlsx"
End Sub

示例4:重命名文件时避免错误

移动文件可能会引发错误。为了避免执行Visual Basic错误调试过程,可以显示一个带有“确定”按钮的消息框。

代码语言:javascript
复制
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自定义函数接受两个参数:现有文件路径和新文件路径。

代码语言:javascript
复制
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.从另一个过程调用。

代码语言:javascript
复制
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’:文件已存在。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-07-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 完美Excel 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档