首先:
我有一个电子表格,当它打开并处于活动状态时,即使在空闲时也至少使用50%的cpu。如果我然后运行其他程序,这会导致计算机过热并关闭。几个月前我在另一个论坛上发布了这个问题,最后的建议是,"不要担心它"。好吧,我再也不能这样做了。这成了一个问题。
起初我以为这是任何带有宏的工作簿。我已经说服自己,事实并非如此。然后我认为它可能是我添加的附加组件。情况也是如此。我阅读将电子表格最小化到最小尺寸。这没有任何帮助。此工作簿具有自动打开功能,可以保存备份,从Internet收集一些数据并对该数据进行一些操作。我完全删除了这个子程序,没有效果。另外需要注意的是,如果我打开另一个工作簿,也将此打开,并使第二个工作簿成为活动工作簿,则te cpu使用率几乎为零。最后要注意的是,我有几个前身,#34;最终版本"这个工作簿。他们都没有这个cpu问题。在某个地方,不知何故,我已经为这个"最终版本添加了一些代码"这导致了这个问题。
我希望有人可以给我一些线索,了解还有什么可以寻找的。我将这些旧备份与当前版本进行比较,但这将是一个漫长的过程。任何建议都将不胜感激。
答案 0 :(得分:1)
根据我的评论,当每次打开工作簿时运行Auto_Open宏时,它会为其Internet数据创建一个新的连接,而不会丢弃以前的数据。应列出这些古老的连接数据►连接►连接和/或数据►获取外部数据►现有连接。
由于我没有创建互联网连接的完整方法和参数,我将提供这种``事件宏,它将在工作簿关闭时删除所有连接。
Private Sub Workbook_BeforeClose(Cancel As Boolean)
With ThisWorkbook
Dim cn As Object
For Each cn In .Connections
cn.Delete
Next cn
.Save
End With
End Sub
该宏进入 ThisWorkbook 代码表。请注意,它还会保存您的工作簿;如果这不是想要的行为,请将代码移动到模块表并将其更改为可手动运行的公共宏。