PAGUE 6 MESES
LEVE 12 MESES
GARANTIR DESCONTO

Fórum delphi e excel #257170

04/11/2004

0

dae pessoal, blz...
estou com um probleminha para buscar dados em uma planilha do excel para o delphi(6), estou usando o seguinte algoritmo para ´pegar´ os dados:

Caminho := ExtractFilePath(Application.ExeName);
caminho := caminho+´pe_graos.xls´;

//pega o usuário logado
lcid := GetUserDefaultLCID;

//remove alertas do excel
ExcelApplication1.DisplayAlerts[lcid] := false;

//torna a aplicação visível
ExcelApplication1.Visible[lcid] := false;

// Se for um arquivo existente, esta
//linha conecta a aplicação
//com o arquivo.
WkBk := ExcelApplication1.Workbooks.Open(caminho,
EmptyParam,
EmptyParam, EmptyParam, EmptyParam,
EmptyParam, EmptyParam, EmptyParam,
EmptyParam, EmptyParam, EmptyParam,
EmptyParam, EmptyParam, LCID);

// conecta a planilha (1)
ws := cbxProduto.ItemIndex + 1; //define o worksheet
ExcelWorksheet1.ConnectTo(WkBk.Worksheets[ws] as _Worksheet);


//ativa a planilha conectada
ExcelWorksheet1.Activate(LCID);

//torna impossível fazer alterações
ExcelApplication1.ScreenUpdating[lcid] := false;

for x:=0 to 99 do
begin
aux:=ExcelWorksheet1.Range[letras[x]+(inttostr(linha)),letras[x]+(inttostr(linha))].Value;
dados[x]:=aux;
end;
//fecha o excel
ExcelApplication1.Application.Quit;

funciona blz, o problema eh se o excel estiver aberto. Se tiver uma planilha aberta e ela estiver salva ela fecha no final da execucao, mas se ela naum estiver salva da erro no sistema. pergunto, tem como conectar a planilha sem abrir o excel? ou entao verificar se o excel esta aberto e somente abrir o arquivo e depois fecha-lo? qq dica eh bem vinda... Obrigado a todos...


Adoryan

Adoryan

Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar