在UI中失去焦点时,保持Excel进程以高优先级运行

时间:2018-02-19 16:09:30

标签: excel excel-vba vba

当窗口失去焦点时,我们在Excel工作表执行时遇到了一些麻烦。工作表收集财务订阅源并在提交到另一个订阅源之前执行一些(基于VBA的)处理。需要每秒重新计算Feed,并且必须在使用其他程序时运行(包括Excel的其他实例)。在Windows 10上运行Excel 2013。

只要Excel工作表具有焦点,一切都很完美。但是,如果切换到其他程序(包括其他Excel实例),性能会下降到不可接受的程度 - 即使机器仍有大量可用的资源(CPU,内存)。似乎Excel / Windows将资源限制为没有焦点的窗口。

有没有办法告诉Excel使用必要的资源? 到目前为止我们尝试了什么:

1)启动具有高优先级的Excel工作表 - bat文件:

start "high priority excel" /max /high C:\Program Files (x86)\Microsoft Office\Office15\Excel.exe <name of Excel file>

在任务管理器中,我们看到Excel实例以高优先级运行,但在失去焦点时性能仍然有限。

2)调整注册表设置Win32PrioritySeparation以控制后台/前台进程之间的优先级:     HKLM \ System \ CurrentControlSet \ Control \ PriorityControl \ Win32PrioritySeparation

尝试将此设置为&#34; 8&#34;似乎有一些影响,但还不够 - Excel不在焦点仍然不允许使用资源来保持性能。

非常感谢任何帮助或输入。

0 个答案:

没有答案