8 de junho de 2009

Classes para automatização do Excel

Escrevi há alguns dias um post mostrando como automatizar a leitura de uma planilha Excel mas não cheguei a falar muito sobre os objetos que são expostos pelo Excel para uso em automação. Como pretendo colocar outros posts sobre o assunto - incluindo a criação de planilhas - achei melhor dar um overview desses objetos antes.

Segundo a documentação da Microsoft no MSDN, tudo que você pode fazer através da interface gráfica do usuário também pode fazer via automação. Aliás, usando automação há coisas que você pode fazer que não estão disponíveis na interface.

Quando falo automação, me refiro a qualquer forma de acessar por programação o Excel, seja através do VBA embutido na aplicação, VBScripts externos ou através de programas Delphi ou C#. Os objetos que vou descrever aqui são os mesmos para todos esses cenários. Lembro, entretanto, que em todos eles é preciso ter o Excel instalado para que os objetos estejam acessíveis.

Application
Este objeto é a porta de entrada para automatizar o Excel. A grosso modo, equivale a carregar o programa Excel. É através dele que se controla todas as funções e configurações, permitindo acesso às planilhas propriamente ditas. Realiza, ainda, a carga e gravação de arquivos.
Se você vai automatizar usando VBA dentro do Excel, uma instância de Application está sempre disponível, automaticamente. Qualquer das outras formas, será preciso antes criar (ou obter) a instância antes de sair usando.

Workbook
Um Workbook corresponde a um arquivo XLS (ou XLSX, no Excel 2007), isto é, é a representação computacional de uma planilha Excel. Um objeto desse tipo pode ser acessado através da propriedade ActiveWorkbook do Application, que representa a planilha atualmente ativa dentro do Excel. Application tem ainda uma lista chamada Workbooks que dá acesso a cada uma das planilhas que estiverem carregadas no Excel num determinado momento.

Worksheet
Cada Workbook é composto por uma ou mais tabelas, com diversas linhas e colunas. A classe que manipula essas tabelas é chamada Worksheet e, por padrão, um Workbook é criado com três Worksheets (ou folhas de trabalho), nomeadas como Sheet1, Sheet2 e Sheet3. Esses nomes e outras propriedades de cada folha podem ser alterados por automação e estão disponíveis na propriedade Worksheets, que é uma lista com todas as folhas que compõe o Workbook com o qual se está trabalhando.

Range
Dentre os conceitos de objetos do Excel, o de Range é provavelmente o mais utilizado pois é a forma mais básica de organização e acesso das informações. É através de Ranges que se acessa o valor individual de uma célula, sua formatação, a fórmula que eventualmente esteja associada a ela, etc..
Quando montamos fórmulas de cálculo ou gráficos, teremos que nos referir a um conjunto de células agrupadas em um ou mais Ranges. A formatação de células também é feita através de Range, quer ele represente uma única célula dentro de uma folha (Worksheet), um região englobando diversas células, uma linha ou uma coluna inteiras ou até mesmo um arranjo tridimensional de células espalhas por múltiplas folhas.

Mostro em outros posts como usar esses conceitos para criar uma planilha.

Nenhum comentário :

Postar um comentário

OBS: Os comentários enviados a este Blog são submetidos a moderação. Por isso, eles serão publicados somente após aprovação.

Observação: somente um membro deste blog pode postar um comentário.