Ver Mensaje Individual
  #1  
Antiguo 21-03-2013
Karl0s Karl0s is offline
Registrado
NULL
 
Registrado: may 2012
Posts: 3
Reputación: 0
Karl0s Va por buen camino
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.

Última edición por Neftali [Germán.Estévez] fecha: 21-03-2013 a las 16:19:59. Razón: Añadir TAG's al código delphi.
Responder Con Cita