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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
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
  #2  
Antiguo 13-05-2017
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.044
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por EagleKingson Ver Mensaje
¡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í:
Con esto el problema queda resuelto.
¡Saludos!
Responder Con Cita
  #3  
Antiguo 13-05-2017
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
Empezado por EagleKingson Ver Mensaje
¡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.
Muchas gracias por publicar la solución

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
Respuesta



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 02:14:16.


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