当前位置: 代码迷 >> Office >> excel2007 内存不足,镜头不能正常显示
  详细解决方案

excel2007 内存不足,镜头不能正常显示

热度:1929   发布时间:2013-02-26 00:00:00.0
excel2007 内存不足,画面不能正常显示
excel2007  内存不足,画面不能正常显示

我做了一个vba工具,从db批量检索数据,
然后针对检索出来的每一条数据,印刷50个画面也就是50个sheet页(每个sheet页也从db检索数据),
当印刷完前面几条数据后,就出异常,显示内存不足,然后excel画面就显示不全,变白了。
请问大虾们,谁遇到过这情况,怎么解决的。

我采用了以下方式,还没找到原因:
1:增大虚拟内存
2:每执行完一次就清空剪切板。

我接下来准备调查是不是访问db过于频繁的问题
------解决方案--------------------------------------------------------
excel2007的帮助里面有这么一句话,请参考。《工作表和工作簿规范与限制》

工作簿中的工作表个数 受可用内存的限制(默认值为 3 个工作表) 
------解决方案--------------------------------------------------------
32位环境当中,excel2007的excel.exe进程内存使用超过1.5G~1.7G就会出现内存不足的提示了。即使这台电脑还有内存未被使用


不修改代码的情况下

彻底解决的办法
使用大内存的电脑,64位操作系统,office 2010 64位的版本
就不会遇到这个问题了




临时的解决办法

如果是在XP/2003 32bit系统当中,电脑的内存有4G的话,在boot.ini里面加上 /3GB参数

找到multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /fastdetect /NoExecute=OptIn

后面加上一段 /3GB /USERVA=2900 ,这样能分配给单个进程的内存会加大. 另外把这个参数修改为 /noexecute=alwaysoff 
但是这个设置可能会造成操作系统不稳定的情况,例如显卡驱动丢失等现象。如果感觉对系统影响太大,删除掉添加的参数再重启就可以了。
  相关解决方案