Artigo Clube Delphi 55 - Delphi e Office

Artigo da Revista Clube Delphi Edição 55

Veremos neste artigo como trabalhar com os aplicativos do Office (Word, Excel e PowerPoint) através dos componentes da paleta Servers do Delphi. Com esses componentes podemos utilizar os vários assistentes e ferramentas do Office, criando automaticamente textos no Word, gráficos no Excel e apresentações no PowerPoint, gerados a partir de informações de um banco de dados, por exemplo.

Os componentes da paleta Servers (Figura 1) permitem que você integre sua aplicação aos aplicativos do Office, usando OLE Automation. Eles são na verdade wrappers que encapsulam uma biblioteca de tipos (Type Library) em um componente, permitindo a manipulação do aplicativo externo através da chamada de métodos, de uma maneira rápida e fácil.

Figura 1. Componentes da paleta Servers permitem integração com os aplicativos do Office

Integração com o Word

Em um primeiro exemplo, adicionaremos em um documento do Word um texto e salvaremos o documento no formato HTML, tudo realizado através do Delphi.

Em uma nova aplicação no Delphi, adicione no formulário os seguintes componentes: WordApplication, WordDocument (Servers), três Buttons (Standard), SaveDialog e OpenDialog (Dialogs). Disponibilize os componentes no formulário conforme a Figura 2. Adicione no evento OnClick dos botões o código da Listagem 1 (de acordo com o botão).

Figura 2. Integração com o Word
Novo: with WordApplication1, WordDocument1 do begin { Adiciona um novo documento } Documents.Add(EmptyParam, EmptyParam, EmptyParam, EmptyParam); { Mostra a janela maximizada } WindowState := wdWindowStateMaximize; { Conecta o WordDocument ao documentno ativo da aplicação atual } ConnectTo(ActiveDocument); { Adiciona o texto } Range.InsertAfter( 'Escrevendo no Word - ClubeDelphi'); Visible := True; end; Abrir: var aArquivo: OleVariant; begin if OpenDialog1.Execute then begin aArquivo := OpenDialog1.FileName; WordApplication1.Documents.Open(aArquivo, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam,EmptyParam); WordApplication1.WindowState := wdWindowStateMaximize; WordApplication1.Visible := True; end; end; Salvar: var aArquivo, aFormato: OleVariant; begin if SaveDialog1.Execute then begin aArquivo := SaveDialog1.FileName; aFormato := wdFormatHTML; { Salva em HTML } WordApplication1.ActiveDocument.SaveAs(aArquivo, aFormato, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam); end; end;"
[...] continue lendo...
Ebook exclusivo
Dê um upgrade no início da sua jornada. Crie sua conta grátis e baixe o e-book

Artigos relacionados