ADO连接自身时有个严重的BUG,多次运行查询语句是会造成内存无法释放,并且会内存占用迭加。
所以有经验的人会尽量避免这种情况,分为两个文件,一个储存数据,一个运行代码。
但很多时候,又不得不进行“ADO 连接自身”这样的操作。那如何解决这个问题就成了一个很头痛的事情。
既然分为两个文件,只要不是“ADO 连接自身”就不会有这个BUG,那么我们可以写几句代码骗一骗EXCEL。
-
- Sub 欺骗式查询()
- Application.ScreenUpdating = False
- Application.DisplayAlerts = False
- ThisWorkbook.ChangeFileAccess xlReadOnly '转为只读
- 查询
- ThisWorkbook.ChangeFileAccess xlReadWrite
- Application.DisplayAlerts = True
- Application.ScreenUpdating = True
- End Sub
复制代码 ThisWorkbook.ChangeFileAccess xlReadOnly 关键代码就这一句,实现了欺骗效果,
其他两句作用屏蔽 屏幕刷新,避免出现“只读”字样;禁止提示,避免出现询问对话框
看一下两个程序的运行10次的后效果----内存占用相差 10倍。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。