我开发了一个宏来读取大量的csv文件(~50,000)并对其内容进行操作。 csv文件非常小(~1kB)。我使用以下命令打开csv文件。
Workbooks.OpenText Filename:=strPath & strFile, DataType:=xlDelimited, Comma:=True, Local:=True
在每个循环中,我打开csv文件,读取内容并关闭该csv文件。
代码在Excel 2010中运行良好。但是当我在Excel 2013中执行(在多个计算机中)时,操作需要很长时间(整个循环完成)。
我添加了代码以找出哪个操作需要更多时间并将Workbooks.OpenText
(打开csv文件)操作识别为耗时的操作。
有趣的是,随着循环的进行,这个时间不断增加(最初,Workbooks.OpenText
大约需要70毫秒,但是在100个文件之后,时间增加到大约200毫秒,并显示出增加的趋势。
尽管Excel 2010中的代码相同,但Workbooks.OpenText对于所有迭代都需要大约30ms。
你能帮忙解决这个问题吗?感谢您的帮助。