Desde hace tiempo, vengo usando Word directamente con Oleauto, a plena satisfacción. Pero me ha surgido el siguiente problema.
En un proceso, donde creo un nuevo documento y reemplazo una serie de variables, el contenido de algunas de estas variables son introducidas por el usuario durante dicho proceso. El problema surge, cuando el usuario, al pedirle una de estas variables, cancela el proceso. Todo parece estar bien, pero WINWORD.EXE continua en memoria y la próxima vez que se intenta realizar el proceso, da error. En síntesis, la programación es la siguiente:
///////////////////////////////////////////////////////////////////////////
oWord:=CREATEOBJECT( "Word.Application" )
oDoc:oWord:Documents:ADD()
// le pide una de las variables al usuario
IF (MSJMEMO ( RTRIM(moderefe->VIEJO), @cNuevo)
......
ELSE // si corta el proceso AQUI SE PRODUCE EL PROBLEMA
oDoc := oWord:Get("ActiveDocument") // documento activo)
oDoc:Invoke('Close',0) // cierra fichero
OleUninitialize()
RETURN nil
ENDI
/////////////////////////////////////////////////////////////////////////////
¿Alguna ayuda?