Excel VBA代码赢得';t打开名为";CON.txt“;
我正在处理一个包含管道分隔数据的大型文本文件,其中每行以文本“记录类型”字段开头,例如,“APP”、“ATT”、“CON”、“a”、“T”。。。我需要将文件拆分为一系列具有特定记录类型的文件,因此“APP.txt”包含所有应用程序记录类型,等等 我要做的是从源文件中读取一行,抓取第一个字段,检查令牌是否在集合中,然后,如果令牌在集合中,打开该文件并向其写入,或者如果令牌不在集合中,则创建一个新文件,向其写入,并将令牌添加到集合中。我的程序工作正常,但创建“CON.txt”文件时除外:Excel VBA代码赢得';t打开名为";CON.txt“;,vba,windows,excel,filenames,Vba,Windows,Excel,Filenames,我正在处理一个包含管道分隔数据的大型文本文件,其中每行以文本“记录类型”字段开头,例如,“APP”、“ATT”、“CON”、“a”、“T”。。。我需要将文件拆分为一系列具有特定记录类型的文件,因此“APP.txt”包含所有应用程序记录类型,等等 我要做的是从源文件中读取一行,抓取第一个字段,检查令牌是否在集合中,然后,如果令牌在集合中,打开该文件并向其写入,或者如果令牌不在集合中,则创建一个新文件,向其写入,并将令牌添加到集合中。我的程序工作正常,但创建“CON.txt”文件时除外: 如果我从
- 如果我从源文件中删除所有“CON”记录类型,它就可以正常工作
- 如果第2行出现“CON”记录,它将在创建文件的第2行爆炸
- 如果第50行出现一条“CON”记录,它将在第50行爆炸
- 如果我在每个令牌前面添加一个
,那么p
令牌现在就是CON
令牌,一切正常pCON
sTgtDir
是一个以“\”结尾的路径,在所有其他情况下都有效,sToken
是记录类型令牌,iFileNo
是一个基于令牌集合中项目计数的整数。DOS和Windows平台,因为这是指“控制台”(屏幕)的特殊名称。对不起,你运气不好!您只需使用不同的令牌名称(假设您没有更改操作系统的选项)。例如,在打开
行之前,您可以添加:
If UCase(sToken) = "CON" then sToken = "pCON"
欢迎来到这个网站!查看和,了解更多有关提出问题以吸引高质量答案的信息,以及当有人评论或回答某个问题时该怎么做的信息。如果有人要求,您可以添加更多信息,但我怀疑是否有人会这样做。在尝试在Windows操作系统上创建任何文件之前,您应该阅读。有关将来的参考,请参阅。MS操作系统保留文件名CON、PRN、AUX、NUL、COM1、COM2、COM3、COM4、COM5、COM6、COM7、COM8、COM9、LPT1、LPT2、LPT3、LPT4、LPT5、LPT6、LPT7、LPT8和LPT9,带或不带扩展名。
If UCase(sToken) = "CON" then sToken = "pCON"