PDA

Ver la Versión Completa : 'WORD.BASIC' y el portapapeles.


virus
05/12/13, 13:53:38
Buenas al foro,

Tengo un programa que en resumido copi lo de un word a otro.
Eso me funciona, pero cuando voy a cerrar el word, se me queja del portapapeles.

A groso modo estas son mis declaraciones:

INCLUDE ole2incl.
* Declaraciones para la llamada a WORD.
DATA zword TYPE ole2_object.

Parte de código.
* Documento WORD Original
CLEAR zword.
CREATE OBJECT zword 'WORD.BASIC'.
call method of zword 'APPSHOW'.
call method of zword 'FILEOPEN' exporting #1 = dsn_ori.
call method of zword 'EDITSELECTALL'.
call method of zword 'EDITCOPY'.

* Documento WORD NO Original
call method of zword 'FILENEW'.
call method of zword 'EDITCLEAR'.
call method of zword 'EDITPASTE'.
CALL METHOD OF zword 'STARTOFDOCUMENT'.
PERFORM rellena_campos.
CALL METHOD OF zword 'FILESAVEAS' EXPORTING #1 = dsn.
CALL METHOD OF zword 'DOCCLOSE' EXPORTING #1 = 2.
CALL METHOD OF zword 'DOCCLOSE' EXPORTING #1 = 2.

* Muestro WORD NO ORIGINAL
CALL METHOD OF zword 'APPSHOW'.
CALL METHOD OF zword 'FILEOPEN' EXPORTING #1 = dsn.

Como veis en el código, copio lo de un documento en otro, no hay problema, pero cuando cierro el word, me sale el siguiente mensaje: "Colocó una gran cantidad de texto en el Portapapeles. ¿Desea que el texto esté disponible para otras aplicaciones cuando salga de Word?"

Hay alguna manera de hacer que no salga este mensaje??

Saludos y gracias al foro, por adelantado.

virus
10/12/13, 13:22:35
Buenas al foro,

Acabo de encontrar una forma para que no se me queje del portapapeles.

Después de los métodos de DOCCLOSE.

He hecho lo siguiente:

CALL METHOD OF zword 'APPCLOSE'. "Se cierra WORD
FREE OBJECT zword. " Se libera el objeto ZWORD

* Representacion Documento WORD
CLEAR zword.
CREATE OBJECT zword 'WORD.BASIC'.
CALL METHOD OF zword 'APPSHOW'.
call method of zword 'FILEOPEN' exporting #1 = dsn.

Ahora no se le queja del portapales cuando abro el documento.
Saludos y gracias al foro.

nachosds
24/02/14, 07:30:27
Buenos días,

Refloto el mensaje, ya que estoy usando el mismo método para la creacion de un Word, pero tengo el problema de que me deja abierto los dos documentos.

¿Hay que hacer algo mas para cerrar los documentos?

Un saludo y gracias!