在我当前的VBA代码中,我生成一个名为myFileName的变量,并在检查文件是否存在时将其用作参数,但在我使用的行中收到错误消息“运行时错误52,文件名或编号错误” Dir命令。

有趣的是,如果我手动输入Dir命令的文件路径而不是使用myFileName变量,则它可以正常工作。 (没有错字,我可以在读取或写入文件时使用myFileName,它只会对Dir命令造成错误)

有什么想法可以使Dir(myFileName)工作吗?

    Set fs = CreateObject("Scripting.FileSystemObject")

    myFileName = Environ("USERPROFILE") & "\Application Data\myFile.txt"

    If Dir(myFileName) = "" Then
        Set a = fs.CreateTextFile(myFileName, True)
        a.Write ("0")
        a.Close
    End If

最佳答案

\Application Data不是文件夹,而是快捷方式。使用LOCALAPPDATAAPPDATA代替:

myFileName = Environ("LOCALAPPDATA") & "\myFile.txt"
myFileName = Environ("APPDATA") & "\myFile.txt"

关于excel - Dir()如何在VBA中工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37117282/

10-11 21:08