quarta-feira, 24 de outubro de 2012

wxAutomationObject – Parte 2 – Verificando se o Excel está em execução:

Vamos iniciar criando uma função que verifica se o Excel está em execução, ela será pública do tipo booleana, se uma instância do Excel estiver em execução ela retornará verdadeiro, se não, retornará falso.

Na classe wxAutomationExcel em public digite:

bool GetExcelInstance();

no arquivo mexcel.cpp sua construção.

bool wxAutomationExcel::GetExcelInstance()
{
     if(!this->GetInstance(wxT("Excel.Application")))
     {
         wxLogError(wxT("Excel não está em execução"));
         return false;
     }

     return true;
}


No código acima vemos a função GetInstance da classe wxAutomationObject, ela verificará se o Excel está rodando, se o mesmo estiver executando, ele passará o ponteiro da aplicação para nosso wxAutomationExcel e retornará verdadeiro, nesse ponto já podemos trabalhar com a automação, se o Excel não estiver rodando, ele retornará falso e nosso wxAutomationExcel será nulo, ou seja, não estará preparado para executar a automação.

Uma coisa que você deve ter em mente é que, se mais de uma instancia do Excel existir, ele  pegará como ponteiro a primeira instancia criada.

Para testar essa função :

wxAutomationExcel m_excel;

if(!m_excel.GetExcelInstance())
     return;

//Aqui poderíamos prosseguir...

0 comentários:

Postar um comentário