即使没有窗口焦点,您如何保持 Microsoft Excel 全速运行?

Joe*_*moe 10 microsoft-office priority microsoft-excel

我注意到当 Excel 2007(可能还有更早的版本)具有窗口焦点时,Excel 会全速运行,这意味着文件打开速度快,长时间运行的 VBA 宏执行速度也很快。

如果 Excel 窗口失去焦点,Excel 的线程优先级似乎急剧下降,移动焦点时打开的大文件打开缓慢,复杂的 VBA 宏需要长时间才能完成。

有没有办法让 Excel 优先级保持高,不管它是否聚焦?

我知道我可以通过任务管理器人为地提高线程优先级,但我不确定这可能对我的电子表格或操作系统产生什么连锁反应。

我的系统是带有 4Gb RAM 的快速双核系统,运行的是 Vista 64。

编辑澄清:

我的问题不仅仅是通过任务管理器提高 Excel 进程的优先级,因为这只会在Excel 具有窗口焦点时影响它。

关键是当 Excel 失去窗口焦点时会发生什么。

从广泛使用Excel,看来,通过设计,它刻意降低自己的进程优先级时,Excel窗口不具有焦点。

为 Excel 进程设置更高的优先级并不能阻止这种情况的发生 - 它只会在 Excel 获得焦点时赋予更高的进程优先级,但在失去焦点时它仍然会急剧下降。

在正常的 Excel 使用中(可能 99% 的人都在使用它),您不会注意到这种效果,但是对于庞大的电子表格(我认为大约有 2000 个工作表)和需要几分钟执行的复杂 VBA 宏,效果非常好显。

理想情况下,无论 Excel 窗口是否聚焦,我都需要它保持相同的线程优先级。

到目前为止,我只是在处理过程中从计算机上坐了几分钟,这样我就不会在它嘎吱作响时不小心点击 Excel 窗口,但我只是希望有一个更好的解决方案......也许某种注册表黑客?

编辑:

我只在此链接上的网络上发现了其他有关此问题的提及

这是相关的报价...

但是,如果我使 Excel 2000 窗口对用户可见并保持该窗口处于焦点,则宏以预期的速度执行。同样,窗口必须具有焦点,否则宏会再次变慢以爬行。

Chr*_*Rea 6

默认情况下,Windows 非服务器版本为前台进程提供优先级提升。当你将 Excel 推到后台时,它会失去之前在前台的提升;其他一些程序反而获得了优先级提升。

您可以更改设置,使程序不再获得这种提升。注意:这不仅会影响 Excel,还会影响任何本来有资格获得提升的程序。

以下是在 Windows XP 中调整设置的方法:

  1. 右键单击我的电脑
  2. 选择属性
  3. 单击高级选项卡。
  4. 在“性能”面板中,单击“设置”按钮。
  5. 单击高级选项卡。第一个面板是处理器调度

    处理器调度面板

  6. 将其从默认的“程序”更改为“后台服务”,它应该会使 Excel 在后台运行时更接近您想要的方式。


Lac*_*anG 1

将进程的优先级提高到“高于正常”或“高”没有问题,只是不要将其设置为“实时”。无法帮助您使用 Excel,特别抱歉。