Na classe wxAutomationExcel
em public digitamos a declaração da função.
int
wxAutomationExcel::GetWorkbookCount()
no arquivo mexcel.cpp sua
contrução.
int
wxAutomationExcel::GetWorkbookCount()
{
const wxVariant workbooksCountV = this->GetProperty(wxT("Workbooks.Count"));
if (workbooksCountV.IsNull())
{
wxLogError(wxT("Problemas ao executar a
operação"));
return 0;
}
const long workbooksCount = workbooksCountV;
return
workbooksCount;
}
Aqui estamos trabalhando mais
uma vez com propriedades, no caso, chamamos a propriedade Workbooks.Count, ela
retornará um long como resultado, veja que se meu wxVariant for igual a nulo,
eu retorno o 0, eu faço assim, pois se existirem Workbooks na instância, ele
será maior que zero.
Para testar a função:
wxAutomationExcel m_excel;
//Primeiro
pegamos a instância do Excel,
//se ela não
existir eu retorno Nulo
if(!m_excel.GetExcelInstance())
return;
//Pego o número
de Workbooks abertos...
int getWBCount
= m_excel.GetWorkbookCount();
//Exibo uma
mensagem com o valor.
wxMessageBox(wxString::Format("Número
de Workbooks abertos\n%d", getWBCount));
Lembrando que essa função conta apenas o número
de Workbooks que estão abertos na instância que estamos controlando, se tivéssemos 5 instâncias rodando, cada uma com 1 Workbook aberto, o valor
retornado seria 1.
Uma imagem com o resultado do teste, veja que
tenho 3 Workbooks abertos, todos na instância que eu estou controlando.
0 comentários:
Postar um comentário