当前位置 : 主页 > 网络安全 > 测试自动化 >

性能 – Excel 2003:为什么创建指向其他电子表格的链接需要这么长时间?

来源:互联网 收集:自由互联 发布时间:2021-06-22
我的Excel应用程序创建指向其他Excel文件的链接.创建一个单元格的链接大约需要1秒钟,但我有几百个单元格要链接,所以它很慢. 无论源文件是打开还是关闭,速度都没有区别.但是,我注意到
我的Excel应用程序创建指向其他Excel文件的链接.创建一个单元格的链接大约需要1秒钟,但我有几百个单元格要链接,所以它很慢.
无论源文件是打开还是关闭,速度都没有区别.但是,我注意到,手动创建链接(例如,通过手动将包含链接的公式复制并粘贴到其他单元格中)在打开源文件时要快得多.

在我的程序中,我已配置
Application.Calculation是手动而不是自动.

我尝试以两种方式完成链接(请注意这不是真正的代码,但我希望它显示我的意思):

1.
使用,将公式链接从Range(“A1”)复制到外部源
一个范围内每个Cell的foreach循环:

Cell.FormulaR1C1 =范围(“A1”).FormulaR1C1

2.
将公式从Range(“A1”)复制到另一个范围而不使用foreach循环:

范围(“thisIsMyTargetRange”).FormulaR1C1 =范围(“A1”).FormulaR1C1

这两种方法都同样慢,正如我所说,我已经检查了上述两种方法,并打开和关闭了源文件.

有什么方法可以加快速度吗?有没有人对Excel 2003中的链接机制有足够的了解,提供有关如何提高链接性能的建议?

有公式是否相关?如果不使用.value而不是.formular1c1.

此外,如果范围大小相同,则使用范围副本而不是循环.例如

range(a1:a500).value = range(a1:a500)

添加替代方法:

另外,另一种方法是使用数据导入功能创建一个表,该功能在文件打开时刷新,如果表单是你所使用的.然后,如果您想要该表的位,请使用导入表/表中的数据.这将在打开文件时保持更新或链接仅一个大的导入.

网友评论