You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Excel VBA重命名文件夹PDF文件的报错问题求助

Excel VBA重命名PDF文件的问题与解决过程

我尝试用Excel VBA读取表格C列的新文件名,重命名指定文件夹中的PDF文件,测试单文件时遇到了以下问题及解决过程:

初始测试代码及报错

最初的测试代码如下:

' 获取桌面路径
desktop_path = CreateObject("WScript.Shell").specialFolders("Desktop")

' 打开表格文件
Workbooks.Open (desktop_path & ("\fatture booking.xls"))

' 获取C列最后一行
lastrow = Cells(Rows.Count, "c").End(xlUp).Row

' 获取目标文件夹下的PDF文件名
nome_vecchio = Dir(desktop_path & "\fatture booking\*.pdf")
' 读取C2单元格的新文件名
nome_nuovo = Cells(2, "c")
' 执行重命名
Name nome_vecchio As nome_nuovo

运行时出现Runtime Error 53(找不到文件),尽管报错弹窗显示的文件名是正确的。

修改路径后的问题

给文件名补充路径后修改代码:

' 获取桌面路径
desktop_path = CreateObject("WScript.Shell").specialFolders("Desktop")

' 定义目标文件夹路径
indirizzo_cartella = desktop_path & "\fatture booking\"

' 打开表格文件
Workbooks.Open (desktop_path & ("\fatture booking.xls"))

' 获取C列最后一行
lastrow = Cells(Rows.Count, "c").End(xlUp).Row

' 拼接带路径的原文件名
nome_vecchio = indirizzo_cartella & Dir(desktop_path & "\fatture booking\*.pdf")
' 读取C2单元格的新文件名
nome_nuovo = Cells(2, "c")
MsgBox nome_nuovo
' 执行重命名
Name nome_vecchio As nome_nuovo

此时提示「文件已存在」,但实际文件名并未更改。

最终解决代码

将重命名语句修改为以下形式后,问题顺利解决:

Name indirizzo_cartella & nome_vecchio As indirizzo_cartella & nome_nuovo

内容的提问来源于stack exchange,提问作者Andrea Lombardi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 09:52:04