Descrição:
Como posso manipular (ler/escrever) arquivos Excel a partir do Elipse E3/Power?
Solução:
O Microsoft Excel é um editor de planilhas produzido pela Microsoft para computadores que utilizam o sistema operacional Microsoft Windows, além de computadores Macintosh da Apple Inc. e dispositivos móveis como o Windows Phone, Android ou o iOS. Seus recursos incluem uma interface intuitiva e capacitadas ferramentas de cálculo e de construção de tabelas.
Conforme já vimos anteriormente no artigo KB-12658: Como ler/escrever em arquivos texto (TXT) pelo E3, é possível ler/escrever dados de arquivos de texto (TXT) utilizando os métodos do objeto FileSystemObject. Nosso presente artigo utilizará portanto uma lógica semelhante ao propor uma solução para ler/escrever arquivos do Excel via Elipse E3/Power. Neste caso, no entanto, iremos variar o objeto de sistema e optar por um objeto específico para a manipulação de arquivos Excel. O objeto do sistema indicado para tratar desse tipo de arquivo é o EXCEL.APPLICATION, e a solução explora os seus principais métodos e propriedades, bem como seus objetos internos.
Exemplos:
- ** Script para criar arquivo excel**
- Dim objExcel,objWorkBook
- Set objExcel = CreateObject("EXCEL.APPLICATION")
- Set objWorkBook = objExcel.Workbooks.add
- objWorkBook.SaveAs "C:\arq3.xlsx"
- objWorkBook.Close
- objExcel.Quit
- Set objWorkBook = Nothing
- Set objExcel = Nothing
- ** Script para criar nova planilha no arquivo**
- Dim objExcel,objWorkBook
- Set objExcel = CreateObject("EXCEL.APPLICATION")
- Set objWorkBook = objExcel.Workbooks.open ("C:\arq3.xlsx")
- objWorkBook.Sheets.Add
- ** Script para adicionar informação no arquivo**
- Dim objExcel,objWorkBook,sheet
- Set objExcel = CreateObject("EXCEL.APPLICATION")
- Set objWorkBook = objExcel.Workbooks.open ("C:\arq3.xlsx")
- Set sheet = objWorkBook.Sheets ("Planilha1")
- sheet.Cells(1,1) = "Nome1"
- ** Script para deletar planilha do arquivo**
- Dim objExcel,objWorkBook
- Set objExcel = CreateObject("EXCEL.APPLICATION")
- Set objWorkBook = objExcel.Workbooks.open ("C:\arq3.xlsx")
- objWorkBook.Sheets("Planilha1").delete
- ** Script para deletar o arquivo excel**
- Set obj = CreateObject("Scripting.FileSystemObject")
- obj.DeleteFile("C:\arq3.xlsx")
Seguindo o exemplo acima, você conseguirá manipular arquivos Excel através dos softwares da Elipse (Elipse E3 e Elipse Power).
NOTA: A fim de executar aplicativos do Office (Excel e outros) na conta do Sistema (SYSTEM), e rodar este script em objetos do servidor, deve-se criar uma pasta chamada Desktop nos seguintes diretórios:
C:\Windows\system32\config\systemprofile\
C:\Windows\SysWOW64\config\systemprofile\
A aplicação exemplo anexada a este artigo foi desenvolvida no Elipse E3 versão 5.1 build 186.