Fórum Delphi e Word #349676

26/11/2007

0

Olá caros colegas,

Vou ser bem direto.
Tenho um texto no Word e tenho num sistema meu os dados que serão utilizados neste texto (tipo mala direta).

Como proceder para que o meu sistema imprima o texto do Word com este dados que estão no relatório?


Certo da atenção e auxílio de todos, antecipadamente agradeço.


Pro-luck

Pro-luck

Responder

Posts

26/11/2007

Pro-luck

(C O R R E Ç Ã O)
Olá caros colegas,

Vou ser bem direto.
Tenho um texto no Word e tenho num sistema meu os dados que serão utilizados neste texto (tipo mala direta).

Como proceder para que o meu sistema imprima o texto do Word com estes dados que estão no formulário?

===============================================
Obs. Será feita uma filtragem dos dados e o resultado (01 único registro) é que alimentará o texto dentro do Word.
===============================================


Certo da atenção e auxílio de todos, antecipadamente agradeço.


Responder

Gostei + 0

27/11/2007

Mssilva

Colega não sei se entende más se você quer tipo criar uma carta de cobrança com um texto padrão é trocar alguns nomes ou linhas faça assim:
unit frmPrincipal;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComObj, StdCtrls, Buttons;

type
TForm1 = class(TForm)
lbLocador: TLabel;
edLocador: TEdit;
Label1: TLabel;
edLocatario: TEdit;
Label2: TLabel;
edFiadores: TEdit;
ckPintura: TCheckBox;
btImprimir: TBitBtn;
btFechar: TBitBtn;
procedure btImprimirClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

uses Math;

{$R *.dfm}

procedure TForm1.btImprimirClick(Sender: TObject);
var
MSWord: Variant;
szPintura : string;
begin
MSWord := CreateOleObject(´Word.Application´);
MSWord.Documents.Open(ExtractFIlePath(Application.ExeName) + ´modelo.doc´);
// ShowMessage(MSWord.ActiveDocument.Content.Text);
MSWord.ActiveDocument.Content.Find.Execute(FindText := ´<¬NOMELOCADOR¬>´, ReplaceWith := edLocador.Text,
Replace := 2);
MSWord.ActiveDocument.Content.Find.Execute(FindText := ´<¬NOMELOCATARIO¬>´, ReplaceWith := edLocatario.Text,
Replace := 2);
MSWord.ActiveDocument.Content.Find.Execute(FindText := ´<¬FIADORES¬>´, ReplaceWith := edFiadores.Text,
Replace := 2);

if ckPintura.Checked then
szPintura := ´Pintura Nova´
else
szPintura := ´´;

MSWord.ActiveDocument.Content.Find.Execute(FindText := ´<¬PINTURA¬>´, ReplaceWith := szPintura,
Replace := 2);
MSWord.ActiveDocument.PrintOut(Copies := 1);
MSWord.Exit;
// MSWord.Visible := True;
end;

end.

Se não for isso.


Responder

Gostei + 0

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

Aceitar