Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Servers (https://www.clubdelphi.com/foros/forumdisplay.php?f=9)
-   -   Borrar variables de un documento Word (https://www.clubdelphi.com/foros/showthread.php?t=61290)

M. FM. 03-11-2008 11:09:03

Borrar variables de un documento Word
 
Buenos días:

Tengo un programa que envía datos a un documento de Word. Lo hago así:

Código Delphi [-]
Word := CreateOleObject('Word.Application'); 
Word.Documents.Add(archivo); 
Doc := Word.Documents.Item(1); 
Doc.Variables.Add('FECHA', varFecha); 
Doc.Fields.ToggleShowCodes; 
Doc.Fields.Update;

Word y Doc son variables de tipo OleVariant. archivo es la ruta de mi plantilla de Word, en la que he definido la variable FECHA como DOCVARIABLE.

Mi problema es que si el documento ya existe necesito borrar la variable antes de pasarle el nuevo valor, porque si no, me da error. Lo he intentado hacer así:
Código Delphi [-]
Doc.Variables('FECHA').Delete;


Pero me da una excepción: "EOleException with message 'Variables' no es ningún método".

También he probado a poner esto:
Código Delphi [-]
Doc.Variables.Delete('FECHA');

Y entonces me dice "Method 'Delete' not supported by automation object".

¿Alguien tiene idea de cómo puedo borrar las variables para añadirlas de nuevo?

Muchas gracias

ariefez 25-08-2011 17:18:40

Reabro el hilo para responder algo pendiente desde time jeje

Para quitar los campos creados en Word, solo usar la siguiente linea:

Código Delphi [-]
  WordDoc: TWordDocument;

  ...

    WordDoc.Fields.Unlink;

Antes de ejecutar el unlink las variables ya tienen que estar asignadas

Código Delphi [-]
  WordDoc.Variables.Add('NOMBRE_VARIABLE', 'VALOR_VARIABLE');

La linea:

Código Delphi [-]
    Doc.Fields.ToggleShowCodes;

No es necesaria, solo sirve para mostrar o no los campos esta se activa en Word mediante la combinacion de las teclas ALT+F9

Con todo esto usar plantillas hace que sea mas sencillo el manejo de documentos word, ya que se ve mas transparente para el usuario :D


La franja horaria es GMT +2. Ahora son las 04:02:28.

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