Excel VBA 代码不会打开名为 "CON.txt" 的文件

Excel VBA code won't open a file named "CON.txt"

我正在处理一个包含竖线分隔数据的大型文本文件,其中每一行都以文本 "record type" 字段开头——例如,"APP"、"ATT"、"CON", "A", "T"...我需要把文件拆分成一系列特定记录类型的文件,所以"APP.txt"有所有的APP记录类型等等。

我正在做的是从源文件中读取一行,获取第一个字段,检查令牌是否在集合中,然后,如果令牌在集合中,打开该文件并写入它,或者如果令牌不在集合中,则创建一个新文件,写入它,并将令牌添加到集合中。我的程序工作正常,除了在创建 "CON.txt" 文件时:

我很困惑。知道为什么一个特定的文件名会给这个程序带来麻烦吗?实际打开文件的代码(抛出 75 运行 次错误)是:

Open sTgtDir & sToken & ".txt" For Append As #iFileNo

其中 sTgtDir 是以“\”结尾的路径,适用于所有其他情况,sToken 是记录类型标记,iFileNo 是基于Token 集合中的项目数。

DOS 和 Windows 平台 won't open a disk file named CON (with any extension),因为这是指代 "CONsole"(屏幕)的特殊名称。对不起 - 你运气不好!您只需使用不同的令牌名称(假设您没有更改操作系统的选项)。例如,在 Open 行之前,您可以添加:

If UCase(sToken) = "CON" then sToken = "pCON"