在我当前的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
不是文件夹,而是快捷方式。使用LOCALAPPDATA
或APPDATA
代替:
myFileName = Environ("LOCALAPPDATA") & "\myFile.txt"
myFileName = Environ("APPDATA") & "\myFile.txt"
关于excel - Dir()如何在VBA中工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37117282/