ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

Delphi exportar para formula Excel gera erro 800A03EC

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
reinaldoinfo
Novato
Novato


Registrado: Sexta-Feira, 11 de Junho de 2010
Mensagens: 3

MensagemEnviada: Qua Jul 07, 2010 10:18 am    Assunto: Delphi exportar para formula Excel gera erro 800A03EC Responder com Citação

Olá... Estou exportando dados para uma planilha do excel, até aqui tudo bem... Mas estou tendo problemas ao inserir uma formula na planilha, pois essa formula muda de acordo com a quantidade de planilhas que crio na pasta de trabalho. A função COUNT.SE('Plan1'!M1:M10;"*"), o delphi retorna um erro 800a03ec ao inserir a formula na planilha...

HandleXLS := CreateOleObject('Excel.Application');
HandleXLS.WorkBooks.Open(Arquivo);
HandleXLS.WorkBooks[1].Sheets[1].Cells[1, 1] := 'AA';
HandleXLS.WorkBooks[1].Sheets[1].Cells[1, 2] := 'AB';
HandleXLS.WorkBooks[1].Sheets[1].Cells[1, 3] := 'BC';
ai na planilha 2

HandleXLS.WorkBooks[1].Sheets[2].Cells[1, 1] := '=COUNT.SE(Plan1!A1:A10;"B")'
//AQUI QUE GERA O ERRO DE OLE...

já tentei tb...

sheet:=WORKBOOKS[1].SHEETS[1];
sheet.Range['m2'].Formula := '=COUNT.SE(Plan1!A1:A10;"B")'
//e o erro ocorre novamente
//me disseram que tinha que colocar o nome das fórmulas em inglês...
//coloquei e nada...

Estou usando o EXCEL 2007 e o DELPHI 2007.
engraçado que consigo inserir outras formulas, mas a CONT.SE(), COUNTIF(), ou a SUMIF(), Não dão certo...

o delphi não insere a função count.se e gera um erro, tentei inserir COUNTIF... mas não funcionou tb...

Quem pode me ajudar?
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Brasaca
Novato
Novato


Registrado: Terça-Feira, 6 de Julho de 2010
Mensagens: 15

MensagemEnviada: Qui Jul 08, 2010 8:25 am    Assunto: Re: Delphi exportar para formula Excel gera erro 800A03EC Responder com Citação

reinaldoinfo escreveu:
Olá... Estou exportando dados para uma planilha do excel, até aqui tudo bem... Mas estou tendo problemas ao inserir uma formula na planilha, pois essa formula muda de acordo com a quantidade de planilhas que crio na pasta de trabalho. A função COUNT.SE('Plan1'!M1:M10;"*"), o delphi retorna um erro 800a03ec ao inserir a formula na planilha...

HandleXLS := CreateOleObject('Excel.Application');
HandleXLS.WorkBooks.Open(Arquivo);
HandleXLS.WorkBooks[1].Sheets[1].Cells[1, 1] := 'AA';
HandleXLS.WorkBooks[1].Sheets[1].Cells[1, 2] := 'AB';
HandleXLS.WorkBooks[1].Sheets[1].Cells[1, 3] := 'BC';
ai na planilha 2

HandleXLS.WorkBooks[1].Sheets[2].Cells[1, 1] := '=COUNT.SE(Plan1!A1:A10;"B")'
//AQUI QUE GERA O ERRO DE OLE...

já tentei tb...

sheet:=WORKBOOKS[1].SHEETS[1];
sheet.Range['m2'].Formula := '=COUNT.SE(Plan1!A1:A10;"B")'
//e o erro ocorre novamente
//me disseram que tinha que colocar o nome das fórmulas em inglês...
//coloquei e nada...

Estou usando o EXCEL 2007 e o DELPHI 2007.
engraçado que consigo inserir outras formulas, mas a CONT.SE(), COUNTIF(), ou a SUMIF(), Não dão certo...

o delphi não insere a função count.se e gera um erro, tentei inserir COUNTIF... mas não funcionou tb...

Quem pode me ajudar?


Reinaldo...

Olha aí acima a parte em negrito... Se o código está escrito dessa maneira, por acaso você não está misturando inglês (COUNT) com português (SE) ?
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
sindicley
Aprendiz
Aprendiz


Registrado: Segunda-Feira, 14 de Junho de 2010
Mensagens: 100

MensagemEnviada: Qui Jul 08, 2010 9:06 am    Assunto: Responder com Citação

bom este codigo de erro esta relacionado a quantidade de registros
Depedendo da versão do execel você precisa controlar a quantidade de registros que estao sendo adicionados, quando chegar a 65mil
voce precisa cria uma nova Sheet o continuar adicionando..
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
reinaldoinfo
Novato
Novato


Registrado: Sexta-Feira, 11 de Junho de 2010
Mensagens: 3

MensagemEnviada: Dom Jul 11, 2010 11:58 pm    Assunto: Re: Delphi exportar para formula Excel gera erro 800A03EC Responder com Citação

Brasaca,

Errei no código apenas ao escrever aqui no forum, aqui digitei corretamente o nome da função CONT.SE(), e o erro persiste do mesmo jeito...
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
jdorea
Novato
Novato


Registrado: Terça-Feira, 31 de Mai de 2011
Mensagens: 1

MensagemEnviada: Ter Mai 31, 2011 11:20 am    Assunto: Delphi exportar para formula Excel gera erro 800A03EC Responder com Citação

Estive pesquisando sobre o tema, e descobri que a fómula tem que está no idioma nativo do aplicativo, ou, seja INGLÊS, segundo o autor do artigo: Cristiano Stedile Magnabosco, link: http://www.planetadelphi.com.br/dica/5329/exportando-para-o-excel.

Espero ter ajudado, como fui, boa sorte.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
t3r3son
Novato
Novato


Registrado: Domingo, 28 de Janeiro de 2007
Mensagens: 36
Localização: Paranaiba - MS

MensagemEnviada: Qui Jan 09, 2014 10:38 pm    Assunto: Exportar para Excel Responder com Citação

Imagine o seguinte:
id := dmBusca.cdsBuscaGuiasConveniadoID_SEGURADO.AsInteger;
while not dmBusca.cdsBuscaGuiasConveniado.Eof do
begin
Inc(i);
Sheet.Cells[i,1] := dmBusca.cdsBuscaGuiasConveniadoNR_TITULO.AsString; //Prontuario
Sheet.Cells[i,2] := dmBusca.cdsBuscaGuiasConveniadoNOME_CLIENTE.AsString; //Nome
Sheet.Cells[i,3] := dmBusca.cdsBuscaGuiasConveniadoID_GUIA.AsInteger; //Nr Guia
// Formata o Numero para se tornar MOEDA
Sheet.Cells[i,4].NumberFormat := 'R$ #.##0,00_);(R$ #.##0,00)';
Sheet.Cells[i,4] := dmBusca.cdsBuscaGuiasConveniadoVALOR_TOTAL.AsFloat; //Valor Guia
Sheet.Cells[i,5] := dmBusca.cdsBuscaGuiasConveniadoTOTAL_DESCONTO.AsFloat; //Valor Desconto
dmBusca.cdsBuscaGuiasConveniado.Next;
if id <> dmBusca.cdsBuscaGuiasConveniadoID_SEGURADO.AsInteger then
begin
Inc(i);
Sheet.Cells[i,1] := 'Total R$';
// Na linha abaixo inclui uma soma e converti para Moeda atravez do NUMBERFORMAT
Sheet.Cells[i,4].NumberFormat := 'R$ #.##0,00_);(R$ #.##0,00)';
Sheet.Cells[i,4].formula := '=SUM(D210)';
//Nesse ponto preciso saber com inserir uma formula de forma dinamica, ou seja, a medida que muda o ID tenho que efetuar o calculo do ID anterior.

end;
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB