找不到文件 - 尝试重命名存在的文件时出现错误 53

问题描述 投票:0回答:2

非常奇怪,因为这段代码昨晚运行了! 我没有更改任何内容,现在它失败了,错误为 53 - 文件未找到。

Dim oldFilePath As String
Dim newFilePath As String
    FolderPath = "C:\Users\ME\Documents\Scans\"
    NewFileName = "Invoice " & InvID & " For " & LName & ", " & FName & ", " & ClaimNo
    oldFilePath = FolderPath & Filename
    newFilePath = FolderPath & NewFileName & ".pdf"
    Debug.Print oldFilePath
    Name oldFilePath As newFilePath  <--FAIL HERE

调试结果出来了:

C:\Users\ME\Documents\Scans\ZephyrClaims20181018161309042577.pdf

哪个是正确的。 该文件存在,当我将调试代码复制到 Windows 资源管理器地址栏并按 Enter 键时,文件会在 acrobat 中打开!

正如前面提到的,这之前是有效的。 这是一个循环遍历文件夹中的特定文件、重命名它们然后循环的函数。

文件列表只是access DB中的文件名,然后您可以在那里看到文件夹路径,该路径末尾确实有“\”。

如果有人有想法,就完全卡住了! 我也尝试过 DIM as Variant,但没有效果。 我觉得很奇怪,这对大约 20 个文件有效,但现在却失败了。

vba ms-access renaming
2个回答
1
投票

该错误是由用户 @Andre 评论中的新文件名中包含非法字符引起的!!!


0
投票

我遇到了完全相同的问题。正确执行的代码现在出现错误,虽然文件可用,但出现错误消息,表明文件不存在。

最后,我意识到问题是由于旧名称或新名称的长度造成的。 Minty 用户说得对。

首先,我将文件移动到另一个路径。然后我通过 Windows 本身一次重命名了所有文件。之后我再次使用相同的宏代码,它工作没有任何问题

但总的来说,我必须说我没想到 Excel 会有这样的限制

© www.soinside.com 2019 - 2024. All rights reserved.