Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Servers
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #7  
Antiguo 12-05-2017
EagleKingson EagleKingson is offline
Registrado
NULL
 
Registrado: abr 2015
Posts: 8
Poder: 0
EagleKingson Va por buen camino
¡He regresado! Y esta vez con la noticia de que resolví el problema. Estoy seguro que a alguien le servirá así que les comparto mi solución.

En lugar de agregar la variante word al TDocumentWord se tiene que agregar el documento (variante document), es decir, estaba cometiendo el terrible error de intentar modificar una aplicación y no un documento. Y posteriormente trabajaremos con ese TDocumentWord. Por lo que quedaría así:

Código Delphi [-]
procedure TFmWord.Button1Click(Sender: TObject);
var
Word: Variant;
Documento: Variant;
sRutaPlantilla, sDocumento : OleVariant;
begin
   sRutaPlantilla := ExtractFilePath(Application.ExeName)+'Plantilla\Plantilla.dotx';
   sDocumento     := ExtractFilePath(Application.ExeName)+'Documento\Documento.doc';
   if not CampoCapturado(Edit1.Text) or
      not CampoCapturado(Memo1.Text) or
      not CampoCapturado(Edit3.Text) or
      not CampoCapturado(Edit4.Text) or
      not CampoCapturado(Edit5.Text) or
      not CampoCapturado(Edit6.Text) or
      not CampoCapturado(Edit7.Text) then
       exit;
   try
      Word := CreateOleObject('Word.Application');
      Word.Documents.Add(sRutaPlantilla);
      Documento := Word.Documents.Item(1);

      WordDocument1 := TWordDocument.Create(Application);
      WordDocument1.ConnectTo(IDispatch(Documento) as _Document);
      WordDocument1.Variables.Add('Nombre',     Edit1.Text);
      WordDocument1.Variables.Add('Direccion',  Memo1.Text);
      WordDocument1.Variables.Add('Folio',      Edit3.Text);
      WordDocument1.Variables.Add('Cantidad',   Edit4.Text);
      WordDocument1.Variables.Add('Empaque',    Edit5.Text);
      WordDocument1.Variables.Add('Volumen',    Edit6.Text);
      WordDocument1.Variables.Add('Peso',       Edit7.Text);
      WordDocument1.Fields.Update;
      InsertarTabla(DSFind, WordDocument1); //Con eto se llena la tabla usando el TWordDocument
      WordDocument1.ActiveWindow.View.ShowFieldCodes := False; //Forza a mostrar los valores y no las variables
      WordDocument1.SaveAs(sDocumento); //Guarda documento con nombre asignado

      //Cerramos el documento y la aplicación
      WordDocument1.Close;
      Word.Quit;
      Word:= Unassigned;
   except
      MessageDlg('Ocurrió un error al ejecutar',mtError,[mbOk],0);
   end;
end;

Con esto el problema queda resuelto.

¡Saludos!
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Asignacion a un Variant gersonmaba OOP 12 13-07-2011 04:44:40
TWordDocument lcarlos API de Windows 2 14-01-2008 18:36:20
TWordDocument luxus Servers 1 31-12-2007 21:07:06
Error con variant.dcu donake Varios 3 20-12-2005 11:27:19
Variant, de que tipo? Barzaugc Varios 2 26-08-2005 21:14:30


La franja horaria es GMT +2. Ahora son las 20:58:26.


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
Copyright 1996-2007 Club Delphi