Fórum Rave reports fechando o aplicativo #351160
27/12/2007
0
quem ja viu o Rave reports fechar o aplicativo ao tentar dar um Preview?
Mahdak
Curtir tópico
+ 0
Responder
Posts
28/12/2007
Mahdak
desisti de tentar encontrar a solução....
fiz os relatórios no word mesmo... só que pintou um probleminha
gera o erro quando o aplicativo vai ler a linha abaixo:
Doc.Selection.MoveRight(12);
erro: ´Method ´Selection´ not supported by automation object´
por via das duvidas vou postar aqui o metodo de acesso ao word.
a idéia é que eu tenho uma tabela com varios dados entao no laço while abaixo eu vou até a variavel da primeira coluna da tabela que quero começar a inserir os dados e dali em diante eu vou pulando de celula em celula e inserindo os dados.
se alguem puder me dar uma mão fico muito agradecido..
abraços a todos[/b]
fiz os relatórios no word mesmo... só que pintou um probleminha
gera o erro quando o aplicativo vai ler a linha abaixo:
Doc.Selection.MoveRight(12);
erro: ´Method ´Selection´ not supported by automation object´
por via das duvidas vou postar aqui o metodo de acesso ao word.
a idéia é que eu tenho uma tabela com varios dados entao no laço while abaixo eu vou até a variavel da primeira coluna da tabela que quero começar a inserir os dados e dali em diante eu vou pulando de celula em celula e inserindo os dados.
se alguem puder me dar uma mão fico muito agradecido..
var Doc,Docs,WinWord: Variant; arquivo,DocGerado : String; begin // Pega o nome do arquivo... arquivo := ExtractFilePath(Application.ExeName) + ´Laudo.doc´; try WinWord := CreateOleObject(´Word.Application´); except raise Exception.Create(´Não foi possível iniciar o MS Word!´); end; WinWord.Visible := false; //Não Mostra o Word Docs := WinWord.Documents; // Pega uma interface para o objeto que manipula documentos Doc := Docs.Open(arquivo); // Abre um Documento //Capa Doc.Content.Find.Execute(FindText := ´@NumeroLaudo´, ReplaceWith := cdsAmostraNumeroLaudo.AsString); Doc.Content.Find.Execute(FindText := ´@Amostra´, ReplaceWith := cdsAmostraAmostra.AsString); Doc.Content.Find.Execute(FindText := ´@Classe´, ReplaceWith := cdsClassificacaoClasse.AsString); frmClass3RRes.cdsTox.First; while not frmClass3RRes.cdsTox.Eof do begin if frmClass3RRes.cdsToxParametro.AsString = ´´ then begin Doc.Content.Find.Execute(FindText := ´@PLix´, ReplaceWith := ´´); Doc.Selection.MoveRight(12); end else begin Doc.Content.Find.Execute(FindText := ´@PLix´, ReplaceWith := frmClass3RRes.cdsToxParametro.AsString); Doc.Selection.MoveRight(12); end; if frmClass3RRes.cdsToxResultado.AsString = ´´ then begin Doc.Selection.TypeText(Text := ´´); Doc.Selection.MoveRight(12); end else begin Doc.Selection.TypeText(Text := frmClass3RRes.cdsToxResultado.AsString); Doc.Selection.MoveRight(12); end; end; . . . WinWord.Quit; // Fecha o Word end;
abraços a todos[/b]
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)