Código
Esta dica tem o objetivo de complementar as demais que tratam do assunto Delphi + Excel.
Nessas, apenas se relata como criar e manipular o objeto, porém não é mencionado o que fazer com o processo que foi aberto no sistema, ocupando recursos.
Assim, apresento a realização do "Garbage Collector" nessas situações.
}
unit Main;
interface
uses
Windows, Messages, SysUtils,
Classes, Graphics, Controls,
Forms, Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
procedure FormDestroy(Sender: TObject);
private
public
V: Variant;
end;
var
Form1: TForm1;
implementation
// Para criar o objeto, a cláusula Uses deve conter a unit COMOBJ.
// Para manipular o objeto Excel, são necessárias outras units como:
// OleServer, Excel97, Excel2000, and so on..
// Depende de sua aplicação.
uses
ComObj;
{$R *.DFM}
// Criação do objeto, no caso, uma aplicação Excel.
procedure TForm1.Button1Click(Sender: TObject);
begin
V := CreateOleObject('Excel.Application');
V.Visible := True;
end;
// Para manipulação do objeto:
.
.
.
// Cria uma instância
Excel.Workbooks.add;
// Cria uma página (planilha) na instância
// Os elementos entre colchetes são números inteiros utilizados
// como identificadores do objeto ao qual se referem.
Excel.WorkBooks[número da instância].Sheets[número da página].Cells[linha,coluna] := 'texto';
// Salvando a planilha
Excel.WorkBooks[número da instância].SaveAs(Edit1.Text);
// Fechando a instância
Excel.WorkBooks[número da instância].Close;
.
.
.
// Para realizar a limpeza da memória:
// Depois que criamos o objeto, necessitamos de um meio de limpá-lo
// da memória do sistema.
// Podemos realizar isso através do método Quit, como segue:
procedure TForm1.FormDestroy(Sender: TObject);
begin
if not VarIsEmpty(V) then
V.Quit;
end;
end.
Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009