Word Detail
Ola pessoal, estou precisando de uma luz aqui...
Eu tenho uma Query com uma consulta dinâmica... eu quero mandar ela para o Word, tipo uma linha em baixo da outra.... iqual a Banda Detail do QuickReport....
Já tentei esse comando mais não tive sucesso...
Var
WinWord, Docs, Doc: Variant;
arquivo, prazo : string;
anoinic, mesinic, diainic,anofim, mesfim, diafim : Word;
subtrair : integer;
Const //Word
mes30 = [4,6,9,11];
mes31 = [1,3,5,7,8,12];
//Word
Begin
firma := ‘Teste nome da empresa’;
FMProtocoloDefinitivoTemporario.TBItens.First;
documento := ´´;
While not FMProtocoloDefinitivoTemporario.TBItens.Eof do
begin
documento := documento + ´ ´ + FormatMaskText(´#´,FMProtocoloDefinitivoTemporario.TBItensLLIVROPASTA.AsString);
documento := documento + ´ ´ + FormatMaskText(´´,FMProtocoloDefinitivoTemporario.TBItensNDOCUMENTO.AsString);
documento := documento + ´ ´ + FormatMaskText(´#´,FMProtocoloDefinitivoTemporario.TBItensDATAINI.AsString);
documento := documento + ´ ´ + FormatMaskText(´´,FMProtocoloDefinitivoTemporario.TBItensDATAFIM.AsString);
documento := documento + 13;
FMProtocoloDefinitivoTemporario.TBItens.Next;
end;
inherited;
arquivo := ExtractFilePath(Application.ExeName) + ´Relatórios\Modelos\Modelo Etiqueta Protocolo Morto.doc´;
// Cria objeto principal de controle
WinWord := CreateOleObject(´Word.Application´);
//Não Mostra o Word
WinWord.Visible := True;
// Pega uma interface para o objeto que manipula documentos
Docs := WinWord.Documents;
// Abre um Documento
Doc := Docs.Open(arquivo);
//Substitui texto via ´name parameters´
//Nome nossa empresa
Doc.Content.Find.Execute(FindText := ´(FIRMA)´, ReplaceWith := FMProtocoloDefinitivoTemporario.TBProtocoloLCLIENTE.AsString);
Doc.Content.Find.Execute(FindText := ´(DOCUMENTO)´, ReplaceWith := documento);
Doc.Content.Find.Execute(FindText := ´(RODAPE)´, ReplaceWith := QRProtocoloDefinitivo.QRLabel8.Caption);
// Grava documento
// Doc.SaveAs(ExtractFilePath(Application.ExeName)+ ´Temp\´ + ´Protocolo ´ + FMProtocoloDefinitivoTemporario.TBProtocoloCODPROTOCOLODEFINITIVO.AsString +
// ´ ´+ ´ ´FMProtocoloDefinitivoTemporario.TBProtocoloLCLIENTE.AsString); //+TblContratoCod_cont.AsString);
// Imprime
// Doc.PrintOut(false);
// Fecha o Word
// WinWord.Quit;
end;
Alguém tem alguma sugestão...
Eu tenho uma Query com uma consulta dinâmica... eu quero mandar ela para o Word, tipo uma linha em baixo da outra.... iqual a Banda Detail do QuickReport....
Já tentei esse comando mais não tive sucesso...
Var
WinWord, Docs, Doc: Variant;
arquivo, prazo : string;
anoinic, mesinic, diainic,anofim, mesfim, diafim : Word;
subtrair : integer;
Const //Word
mes30 = [4,6,9,11];
mes31 = [1,3,5,7,8,12];
//Word
Begin
firma := ‘Teste nome da empresa’;
FMProtocoloDefinitivoTemporario.TBItens.First;
documento := ´´;
While not FMProtocoloDefinitivoTemporario.TBItens.Eof do
begin
documento := documento + ´ ´ + FormatMaskText(´#´,FMProtocoloDefinitivoTemporario.TBItensLLIVROPASTA.AsString);
documento := documento + ´ ´ + FormatMaskText(´´,FMProtocoloDefinitivoTemporario.TBItensNDOCUMENTO.AsString);
documento := documento + ´ ´ + FormatMaskText(´#´,FMProtocoloDefinitivoTemporario.TBItensDATAINI.AsString);
documento := documento + ´ ´ + FormatMaskText(´´,FMProtocoloDefinitivoTemporario.TBItensDATAFIM.AsString);
documento := documento + 13;
FMProtocoloDefinitivoTemporario.TBItens.Next;
end;
inherited;
arquivo := ExtractFilePath(Application.ExeName) + ´Relatórios\Modelos\Modelo Etiqueta Protocolo Morto.doc´;
// Cria objeto principal de controle
WinWord := CreateOleObject(´Word.Application´);
//Não Mostra o Word
WinWord.Visible := True;
// Pega uma interface para o objeto que manipula documentos
Docs := WinWord.Documents;
// Abre um Documento
Doc := Docs.Open(arquivo);
//Substitui texto via ´name parameters´
//Nome nossa empresa
Doc.Content.Find.Execute(FindText := ´(FIRMA)´, ReplaceWith := FMProtocoloDefinitivoTemporario.TBProtocoloLCLIENTE.AsString);
Doc.Content.Find.Execute(FindText := ´(DOCUMENTO)´, ReplaceWith := documento);
Doc.Content.Find.Execute(FindText := ´(RODAPE)´, ReplaceWith := QRProtocoloDefinitivo.QRLabel8.Caption);
// Grava documento
// Doc.SaveAs(ExtractFilePath(Application.ExeName)+ ´Temp\´ + ´Protocolo ´ + FMProtocoloDefinitivoTemporario.TBProtocoloCODPROTOCOLODEFINITIVO.AsString +
// ´ ´+ ´ ´FMProtocoloDefinitivoTemporario.TBProtocoloLCLIENTE.AsString); //+TblContratoCod_cont.AsString);
// Imprime
// Doc.PrintOut(false);
// Fecha o Word
// WinWord.Quit;
end;
Alguém tem alguma sugestão...
Regismatos
Curtidas 0