Percebi que quando o Excel 2007 (e provavelmente versões anteriores) tem o foco da janela, o Excel é executado a toda velocidade, o que significa que os arquivos são abertos rapidamente e as macros do VBA de execução longa são executadas rapidamente.
Se a janela do Excel perder o foco, a prioridade do encadeamento do Excel parecerá cair drasticamente e os arquivos grandes que estavam sendo abertos quando você moveu o foco abrem lentamente, e as macros VBA complexas demoram muito tempo para serem concluídas.
Existe alguma maneira de manter a prioridade do Excel alta, independentemente de estar focada ou não?
Sei que poderia aumentar artificialmente a prioridade do segmento através do Gerenciador de Tarefas, mas não tenho certeza de quais efeitos indiretos isso pode ter para minhas planilhas ou SO.
Meu sistema é um Dual Core rápido com 4Gb RAM e está executando o Vista 64.
EDIÇÃO PARA ESCLARECIMENTO:
Meu problema não é simplesmente aumentar a prioridade do processo do Excel por meio do Gerenciador de tarefas, porque isso afeta apenas o Excel quando ele tem o foco da janela.
A questão é o que acontece quando o Excel perde o foco da janela.
Ao usar o Excel extensivamente, parece que, por design , diminui deliberadamente sua própria prioridade de processo quando a janela do Excel não tem foco.
Definir uma prioridade mais alta para o processo do Excel não impede que isso aconteça - ele apenas concede ao Excel uma prioridade de processo mais alta quando possui o foco, mas ainda diminui drasticamente quando perde o foco.
No uso normal do Excel (provavelmente 99% de todos os usuários), você não notaria esse efeito, mas com uma planilha massiva (cerca de 2000 planilhas, eu acho) e macros VBA complexas que levam alguns minutos para serem executadas, o efeito é muito perceptível.
Idealmente, preciso manter a mesma prioridade de thread, independentemente de a janela do Excel estar focada.
Até o momento, eu estava sentado no computador por alguns minutos durante o processamento, para não clicar acidentalmente na janela do Excel quando ele estava sendo processado, mas eu esperava que houvesse uma solução melhor ... talvez algum tipo de corte no registro?
EDITAR:
Eu só encontrei uma outra menção desse problema na rede neste link
Esta é a citação relevante ...
No entanto, se eu tornar a janela do Excel 2000 visível para o usuário e também manter a janela em foco, as macros serão executadas com a velocidade esperada. Novamente, a janela deve ter foco ou a macro diminui para um rastreamento novamente.