自从我们的用户从Excel 2007升级到32位Excel 2013以来,我们公司面临着大量的性能和稳定性问题.
我们不得不为某些用户禁用硬件加速,更改控制面板\轻松访问中心的设置,甚至升级英特尔图形驱动程序以提高稳定性,所有这些都取得了不同程度的成功.
但是我们无法解决的一个问题是:
32位版本的Excel 2013似乎使用自己的内存管理器从32位内存映射到Windows 7使用的64位内存.
问题是,当这个内存变得过于分散时,Excel 2013将完全崩溃.
有时,经过一个小时的使用后,我们看到Excel 2013尝试搜索一块XX'Mb的内存块,如果它找不到这个大小的连续内存块,它就会崩溃.
作为一家金融公司,我们在这些Excel文件中有很多传统的VBA代码,而迁移到64位Excel 2013会引入更多问题.
那么有谁知道如何使用Excel 2013修复内存问题..?
更新
一些读者(可以理解)问我们为什么不安装64位版本的Excel 2013,特别是因为我们运行的是64位Windows 7.
引用微软的原因是兼容性.
"我们建议大多数用户使用32位版本的Office,因为它与大多数其他应用程序(尤其是第三方加载项)更兼容.这就是为什么默认安装32位版本的Office 2013,即使在64位Windows操作系统."
我们的用户不需要花哨,口哨或时髦的动画.即使使用10年前编写的Excel文件和VBA,他们也想要一些稳定的东西.其中一些代码甚至使用FORTRAN .dll计算引擎,DAO库等.
从IT支持的角度来看,我们只需要一个仍然受Microsoft支持的Excel版本.
这就是为什么我们现在使用的是32位Excel 2013.
问题是,这是32位Excel 2013的一个令人讨厌的问题,大多数金融公司仍然在传统的Excel/Access应用程序上大量供应......我们可以做些什么来使这个环境更稳定?
“变化是不可避免的,那些适应得最快的人最有可能生存下来。” -博士。拉里·弗莱因哈特 (Numb3rs)
一旦用完可寻址内存,无论是由于内存泄漏还是使用限制,您就完成了。如果您认为存在内存泄漏等问题,您需要向 Microsoft 提出解决方案,您的未来将获得昂贵的支持票。他们可以修复它,但您只是在走昂贵的路线来维护正在损坏和/或无法满足您的需求的系统。
如果您认为最好的解决方案涉及维护旧代码,请切换到 Excel 64 位。这做了两件事。它为您提供了更大的可寻址内存,从而解决了内存问题。它还具有更改程序部分的附加值,这可能会解决由于内存泄漏而遇到的任何问题。还存在其他选项,例如具有 VBA 集成的 OpenOffice/LibreOffice(您的情况可能会有所不同)。
我建议学习一种编程语言 Python,它具有 Pandas 等 Excel 模块。这是一个强大的解决方案,但需要一些时间来使用,但从长远来看,您可以从中获得更多价值。
| 归档时间: |
|
| 查看次数: |
912 次 |
| 最近记录: |