Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Servers (https://www.clubdelphi.com/foros/forumdisplay.php?f=9)
-   -   Insertar texto dentro de un recuadro en word (https://www.clubdelphi.com/foros/showthread.php?t=82589)

Karl0s 21-03-2013 15:41:23

Insertar texto dentro de un recuadro en word
 
Estimados amigos:
Quisiera nuevamente pedirles una orientación o sugerencia en relación a un problema que tengo con un programa que estoy haciendo, es una aplicación muy sencilla que consiste en insertar texto en un documento plantilla. Tengo marcadores en el mismo pero no me los pone, es más, me pone una especie de símbolos de escritura china o algo así,( si son muy extraños). El código en cuestión es el siguiente:


Código Delphi [-]

procedure TForm1.Button1Click(Sender: TObject); {Botón para ir al formato en Word de la factura}
  
const

PlantillaWord = 'c:\Factura\FacturaPlantilla.doc';

var

doc, R,WordApp: Variant;
BookmarkNombre,BookmarkNombre1,BookmarkNombre2,BookmarkNombre3: OleVariant;
BookmarkNombre4,BookmarkNombre5,BookmarkNombre6,BookmarkNombre7,BookmarkNombre8: OleVariant;

Nombre, Direccion, codigopostal, dni,telefono :String;

Begin
   try
WordApp := CreateOleObject('Word.Application');   {Abre la aplicación Word}

except

ShowMessage('No se puede arrancar MS Word!');     {muestra el mensaje si no existe la aplicacion}

end ; {try CreateObject}

WordApp.Documents.Open(PlantillaWord);       {Abrimos el archivo de Word "FacturaPlantilla.doc"}
WordApp.Visible:=True;

Doc := WordApp.ActiveDocument;           {asignamos valor a la varialble "Doc" el docuento activo que es "FacturaPlantilla.doc"}


WordApp.selection.Font.Name := 'Arial';
  WordApp.selection.Font.Size := 12;


BookmarkNombre := 'Marcador1';
BookmarkNombre1 := 'Marcador2';
BookmarkNombre2 := 'Marcador3';
BookmarkNombre3 := 'Marcador4';
BookmarkNombre4 := 'Marcador5';
BookmarkNombre5 := 'Marcador6';
BookmarkNombre6 := 'Marcador7';
BookmarkNombre7 := 'Marcador8';
BookmarkNombre8 := 'Marcador9';

    Nombre:=Edit1.Text;
    Direccion:=Edit2.Text;

  if Doc.Bookmarks.Exists(BookmarkNombre) then   {Chequea si existen las marcas en el documento}

 Begin

  R := Doc.Bookmarks.Item(BookmarkNombre).Range;   { añade texto a la marca de nuestro documento}
  R.InsertAfter(Nombre);                      {Nombre del cliente}

  R := Doc.Bookmarks.Item(BookmarkNombre1).Range;
  R.InsertAfter(Direccion);                      {Dirección del cliente}

  R := Doc.Bookmarks.Item(BookmarkNombre2).Range;
  R.InsertAfter('.'+Edit3.Text);                       {Distrito Postal}

  R := Doc.Bookmarks.Item(BookmarkNombre3).Range;
  R.InsertAfter('. '+Edit4.Text);                       {DNI/CIF}

  R := Doc.Bookmarks.Item(BookmarkNombre4).Range;
  R.InsertAfter(' .'+Edit5.Text);                       {Telefono/Fax}

  R := Doc.Bookmarks.Item(BookmarkNombre5).Range;
  R.InsertAfter('.'+Edit10.Text);                       {Numero de Factura}

  R := Doc.Bookmarks.Item(BookmarkNombre6).Range;
  R.InsertAfter('-'+Edit11.Text);                       {Fecha de Factura}

  R := Doc.Bookmarks.Item(BookmarkNombre7).Range;
  R.InsertAfter('*'+Edit12.Text);                       {Numero de Cliente}

    if RadioButton1.Checked=True then              {si se elige forma de pago "Contado"}
     begin
         R := Doc.Bookmarks.Item(BookmarkNombre8).Range;
         R.InsertAfter('CONTADO');                       {Forma de pago de contado}
     end; {if RadioButton1}

     if RadioButton2.Checked=True then              {si se elige forma de pago "Credito"}
     begin
         R := Doc.Bookmarks.Item(BookmarkNombre8).Range;
         R.InsertAfter('CREDITO');                       {Forma de pago de credito}
     end; {if RadioButton2}

     if RadioButton3.Checked=True then              {si se elige forma de pago "Otro"}
     begin
         R := Doc.Bookmarks.Item(BookmarkNombre8).Range;
         R.InsertAfter('OTRO');                       {Forma de pago Otro}
     end; {if RadioButton1}


  end ; {fin de operaciones cuando se encuentra la primera marca en el documento}


end;{fin del botón para "Validar" e ir al la aplicacion de Word}

Espero que puedan orientarme en el error que estoy cometiendo, y darles las gracias de antemano.
Un saludo.


La franja horaria es GMT +2. Ahora son las 12:41:50.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi