Primeiro vamos verificar se o
Excel está visível ou se está correndo em segundo plano.
Na classe wxAutomationExcel
em public digitamos a declaração da função.
bool GetVisible();
no arquivo mexcel.cpp sua
contrução.
bool
wxAutomationExcel::GetVisible()
{
if(this == NULL)
return false;
wxVariant m_show = this->GetProperty(wxT("Visible"));
return m_show.GetBool();
}
No código acima, vemos o uso
do método GetProperty, passamos para o mesmo o nome da propriedade que queremos
pegar o valor e passamos esse para um wxVariant, veja que antes verifico se
wxAutomationExcel é nulo, se o Excel estiver visível nossa função retornará
verdadeiro, caso contrário, falso...
Agora, vamos alterar essa
propriedade, escondendo ou exibindo a instância do Excel que estiver setada em
nosso wxAutomationExcel.
Na classe wxAutomationExcel
em public digitamos a declaração da função.
bool SetVisible(bool visible);
no arquivo mexcel.cpp sua
contrução.
bool
wxAutomationExcel::SetVisible(bool visible)
{
if(this == NULL)
return false;
if(!this->PutProperty(wxT("Visible"), visible))
{
wxLogError(wxT("Excel não pode ser exibido"));
return false;
}
return true;
}
Nessa função utilizamos o
método PutProperty, esse método é utilizado para pegarmos alguma propriedade do
objeto setado em nossa classe, passamos primeiro o nome da propriedade e depois
o valor que queremos dar para ela, no caso da propriedade Visible passamos um
valor booleano.
Vale lembrar que essa classe
está trabalhando apenas com o Excel.Application, então todos os métodos e
propriedades passados como parâmetros servem apenas para a aplicação em si.
Para testarmos as duas
funções apresentadas nesse tutorial:
wxAutomationExcel m_excel;
if(!m_excel.GetExcelInstance())
return;
//ou
//if(!m_excel.CreateExcelInstance())
// return;
//Vejo se o
Excel está visível...
if(m_excel.GetVisible())//...se sim...
m_excel.SetVisible(false);//...escondo...
else//...se não...
m_excel.SetVisible(true);//...exibo
o mesmo...
No próximo tutorial iremos
iniciar com Workbooks, até.