即使没有窗口焦点,如何保持Microsoft Excel全速运行?
我已经注意到,当Excel 2007(可能是早期版本)具有窗口焦点时,Excel将以全速运行,这意味着打开文件的速度很快,并且长时间运行的VBA宏也会快速执行。 如果Excel窗口失去焦点,则Excel的线程优先级似乎会急剧下降,并且在缓慢移动焦点时打开的大型文件将缓慢打开,并且复杂的VBA宏需要很长时间才能完成。 有什么方法可以使Excel的优先级保持高位,而不管它是否被关注? 我知道我可以通过任务管理器人为地提高线程优先级,但是我不确定这可能会对电子表格或OS产生什么样的连锁反应。 我的系统是具有4Gb RAM的快速双核,并且正在运行Vista 64。 编辑说明: 我的问题不只是通过任务管理器提高Excel进程的优先级,因为这仅在具有窗口焦点时才影响Excel。 关键是当Excel失去窗口焦点时会发生什么。 从广泛使用Excel来看,似乎设计使它在Excel窗口没有焦点时故意降低了其自身的处理优先级。 为Excel进程设置更高的优先级并不能阻止这种情况的发生-它仅在具有焦点时才赋予Excel更高的进程优先级,而在失去焦点时仍会急剧下降。 在普通的Excel使用中(可能有99%的人使用它),您不会注意到这种效果,但是使用庞大的电子表格(我认为大约有2000个工作表)和复杂的VBA宏才能执行,因此效果非常好显。 理想情况下,无论Excel窗口是否聚焦,我都需要它保持相同的线程优先级。 到目前为止,在处理过程中,我刚从计算机坐了几分钟,以便在崩溃时不会意外单击Excel窗口,但我只是希望有更好的解决方案...也许某种注册表黑客? 编辑: 在此链接上,我在网上仅发现过另一个提及此问题的信息 这是相关的报价... 但是,如果我使用户可以看到Excel 2000窗口并同时使窗口保持焦点,则宏将以其预期的速度执行。同样,窗口必须具有焦点,否则宏会再次缓慢爬行。