segunda-feira, 22 de outubro de 2012

wxAutomationObject - Excel - Reiniciando

Voltando com os tutoriais sobre wxAutomationObject, como sempre, vou postando as coisas sem muito critério e as elas acabam ficando um pouco complicadas, vou reiniciar do zero pra explicar melhor como as coisas funcionam, e criar classes para gerenciar o conteúdo das explicações.

wxAutomationObject é uma classe que fornece um ponteiro IDispath, que nada mais é que uma referência para um COM/OLE Object, permitindo a execução e automação do Excel, por exemplo.

*Importante: wxAtomationObject é uma classe exclusiva para wxMSW, ou seja, você só conseguirá compilar os exemplos no Sistema Operacional Windows.

Para entendermos a estrutura das classes, vamos entender como é estruturado um arquivo do Excel.


No diagrama podemos ver claramente cada objeto que iremos utilizar:

A instância do programa seria o Excel que está sendo executado na memória naquele momento, seria o Excel.exe sendo executado.

O Workbook é a pasta de trabalho ou o arquivo em si.

Dentro de um Workbook podemos ter uma ou mais planilhas, que no diagrama vemos como Sheet ou Worksheet, por padrão, ao iniciarmos um novo Workbook o mesmo conterá 3 planilhas (Sheet).

E as células, que são os locais onde iremos inserir ou ler os dados que queremos.

Talvez as coisas fiquem mais claras com a imagem abaixo.



Em 1, temos o Excel em execução, é ele que vai gerenciar a automação e execução dos procedimentos e propriedades.

Em 2 temos a pasta de trabalho, é nosso arquivo em si, ele que vai conter todas as nossas planilhas, usaremos o mesmo para salvar o documento ou inserirmos e deletarmos planilhas.

Em 3 temos as planilhas que irão conter as células, podemos alterar seu nome, por exemplo, e gerenciar as células existentes.

Em 4, as células, elas irão conter os valores, como data, textos, números, etc... podemos alterar suas propriedades também, como a cor de fundo, tipo de borda...

Agora que temos de forma clara como é a estrutura de um arquivo Excel, assim como de sua instância, vamos iniciar com os códigos. Criaremos 2 arquivos para armazenar as classes, um chamado mexcel.h e outro mexcel.cpp.

Primeiro iremos trabalhar com uma classe que vai representar o Excel em si, vou chamá-la de wxAutomationExcel e ela será derivada de wxAutomationObject, ele será aqui na nossa estrutura de desenvolvimento, a “Instância”.

No arquivo mexcel.h digite:

#include <wx/wx.h>
#include <wx/msw/ole/automtn.h>

class wxAutomationExcel: public wxAutomationObject
{
public:
          wxAutomationExcel();
          ~wxAutomationExcel();
private:
};

E no arquivo mexcel.cpp:

#include "mexcel.h"

wxAutomationExcel::wxAutomationExcel():wxAutomationObject()
{
}

wxAutomationExcel::~wxAutomationExcel()
{
}

No próximo tutorial vamos iniciar com as funções que irão fazer parte da classe.

0 comentários:

Postar um comentário