Automação em Excel
Automação em Excel
Automação em Excel
Tiago Pereira
Essa interação já era possível, antes, através da classe OLEServer que se baseia
em components da tecnologia COM. Agora com a paleta de componentes SERVERS
essa automação é feita a partir de componentes (VCL) que acessam os recursos
mais comuns da tecnologia COM.
Este formulário acessa os dados via BDE, através dos seguintes objetos:
TTable à Que está conectado com o Alias(BDE) DBDemos que acessa a tabela
Country.db
TDataSource à Faz a ligação entre a Table e objeto de exibição dos dados
(DBGrid)
OBS 1 : Vale lembrar que além dos objetos da palheta SERVERS para a
automação com Excel, utilizados nesta aplicação, existem outros que não são de
certa forma essenciais, mais implementam excelentes funcionalidades.
var
Form1: TForm1;
lcid : Integer;
wkbk : _Workbook;
linha : Integer;
novoarq : String[1];
Caminho : String;
Esta é a primeira parte que nós interresa, a seção var, nesta seção foram criadas
cinco variáveis que serão usadas ao longo do projeto. São elas:
lcid à Sem esta Variável se torna quase que impossível manipular o Excel, pois a
maioria dos métodos manipuladas necessitam do valor retornado por esta variável,
que recebe o valor do usuário que está logado no Windows.
wkbk à Esta variável servirá para que possamos conectar a aplicação (Excel)
diretamente com a planilha que iremos utilizar, ou seja , fará a ligação entre o
ExcelApplication e o ExcelWorkSheet.
linha à Esta sera a variável que iremos utilizar para calcular em qual linha serão
inseridos os os dados, por exemplo Coluna A linha 2, Coluna B linha 2, Coluna C
linha 3 e daí por diante. Vale lembrar que esta variavel manipulará apenas a linha
que os dados serão incluídos e não as colunas (estas serão definidas ao longo do
projeto e deverão ser manipuladas palos programadores).
NovoArq à Esta variável servirá para sabermos se o usuário esta querendo criar um
novo arquivo ou abrindo um arquivo existente, ela receberá apenas dois valores
sendo eles ‘S’ ou ‘N’, que representarão SIM ou NÃO.
procedure TForm1.AbreExcel;
begin
Caminho := '';
lcid := GetUserDefaultLCID;
//pega o usuário logado
ExcelApplication1.Visible[lcid] := true;
//torna a aplicação visível
ExcelApplication1.DisplayAlerts[lcid] := false;
//remove alertas do excel
Para que exista um entendimento melhor deste código, vamos as procedure dos
botões que fazem a abertura do Excel.
A propriedade Range :
Daqui para frente é com vocês, tanto na melhoria deste código quanto na utlização
dos outros objetos.
Um Abraço a todos.
Opinião é: [email protected]