Agendador de Tarefas do Windows iniciando o Excel em segundo plano. Como forçar a começar em primeiro plano?

1

Estou usando o Agendador de Tarefas do Windows para reiniciar o MS Excel quando ele falha, por meio de um acionador de evento que executa um script vbs ( link ).

O excel e minha macro de execução longa são reiniciados com êxito quando o evento de acionamento ocorre. No entanto, o problema que estou tendo é que o Excel começa em segundo plano.

Quando faço o login remoto na máquina (como Administrador), o excel gui está longe de ser visto. No gerenciador de tarefas, é possível ver que o excel.exe está em execução (assim como minha macro, já que os arquivos de relatório continuam sendo gravados).

Se eu executar o script vbs manualmente (ou seja, clique duplo, quando logado), então o Excel inicia em primeiro plano.

Configurei o agendador de tarefas para executar a tarefa como administrador e para executar se o usuário está logado ou não. Existem outras configurações que eu deveria estar ciente de que se relacionam com o início do Excel em primeiro plano a partir de uma tarefa agendada?

Estou usando o Windows Server 2008R2 e o Excel 2010.

Obrigado, Yug

Adicionado: Para ficar claro, a diferença de comportamento parece ser se o script é executado pelo gerenciador de tarefas ou é executado manualmente (o fato de estar logado ou não estar conectado remotamente). ).

    
por Yugmorf 13.01.2014 / 07:49

2 respostas

1

Quando o Excel é executado a partir do Agendador de Tarefas, ele sempre fica oculto como um processo porque está sendo executado a partir do serviço, ao passo que, quando você o executa manualmente, não é.

Anteriormente, eu tive problemas semelhantes, e a maneira como resolvi isso foi criando um arquivo em lotes. Eu deixei o agendador de tarefas executar o arquivo em lotes e, em seguida, deixei o arquivo em lotes executar o Excel / scripts / macros. Isso permite que o Excel seja aberto da mesma maneira que você faria se fosse aberto manualmente.

Se você não estiver familiarizado com arquivos em lote, basta google "lote .bat como criar" e há uma abundância de informações lá fora sobre ele para você.

Por outro lado, usar seu "problema" é uma ótima maneira de automatizar relatórios e executá-los em segundo plano, em vez de se exibir, o que pode ser útil em outras situações.

Espero que isso ajude!

    
por 30.06.2015 / 19:55
0

No Excel VBA, no início da macro de longa duração, insira este comando:

Application.Visible = True

Isso torna a pasta de trabalho do Excel visível. Não vai doer se o Excel já estiver visível.

    
por 01.04.2014 / 20:48