我目前正在重建一个 excel 宏,它解析文本文件并根据特定规则集填充 Excel 工作表中的单元格。我的新版本应该每天处理更长的时间跨度的文件,而不是一周的总结结果。但是,似乎自从我得到这些较大的文件后,拆分命令就不会返回任何内容。
rawDataArray = Split(rawData, Chr$(10))
在逐步浏览时,我可以清楚地看到 rawData 字符串包含我从源文本文件加载的数据,我还在十六进制编辑器中打开了该文件,以验证 chr(10) 是否存在。执行操作后,rawDataArray 仍然为空。
以前的版本只处理最多几千个字符的文本文件,而且运行完美。当前文件大约有 500.000 个字符长,这是唯一(嗯,第一个;))行不起作用,这让我想到 split 命令可以处理的字符串长度可能存在上限。这可能是真的吗?如果是这样,它有多长?
也可能是因为我们在我的办公室从 Office 2007 切换到了 Office 2010?我不知道 vbscript 版本的行为是否相同,我想这也可能是一个因素。
提前非常感谢!
编辑:我不确定是否习惯用解决方案回答您自己的帖子,但是,这里有。
似乎 split 命令无法处理这么大的字符串,我试图将文件减少到 ~7k 字符并且有效。我还没有找到确切的数字,但至少这似乎是原因。另外,感谢 Avner 对 vbscript 与 VBA 的更正,在编程/脚本方面我是自学的,所以现在我学到了一些新东西!
感谢 Avner 的更正