在VBA Getattr函数中,长文件路径文件名大于259

在VBA Getattr函数中,长文件路径文件名大于259,vba,getattr,Vba,Getattr,我试图从目录中列出特定的文件名。但是我用Getattr函数得到了错误代码53 就我而言, 同一目录中的文件路径和文件名长度大于259时出错 问题是 Getattr函数支持多少长度 如何解决此错误 我还没有在官方网站上找到这个。但我已经测试过了,它工作正常,直到长度为260 您可以使用目录的相对路径 或 您可以在路径前面加上\\?\,如\\?\C:\TEST\TEST.txt。这将把DOS路径名转换为本机OS路径名。参考 这回答了你的问题吗?谢谢你的回复。我还在ExcelVBA中再次测试了GetA

我试图从目录中列出特定的文件名。但是我用Getattr函数得到了错误代码53

就我而言, 同一目录中的文件路径和文件名长度大于259时出错

问题是

  • Getattr函数支持多少长度
  • 如何解决此错误
  • 我还没有在官方网站上找到这个。但我已经测试过了,它工作正常,直到
    长度为260
  • 您可以使用目录的相对路径
  • 您可以在路径前面加上
    \\?\
    ,如
    \\?\C:\TEST\TEST.txt
    。这将把DOS路径名转换为本机OS路径名。参考


    这回答了你的问题吗?谢谢你的回复。我还在ExcelVBA中再次测试了GetAttr函数。但我也有错误。我发布了Excel VBA debug.Print的测试结果。错误#:0描述:错误文件路径:D:\Temp\Temperatu0\Temperatu0Temperatu1\Temperatu0Temperatu2\Temperatu0Temperatu3\Temperatu0Temperatu4\Temperatu0Temperatu5\Temperatu0Temperatu6\Temperatu0Temperatu7\temperatu0temperatu0temperatu8\temperatu0temperatu0temperatu9\temperatu0temperatu0temperat10\>长度为229字节。
    Dim file_path = "\\?\C:\TEST\test.txt"