Los procesos de Word

Y voy a ir directo al grano. Cuando utilizo un objeto de Word desde visual basic, me arraca un proceso, el cual siempre se queda abierto y no se como cerrarlo. Si sabes como o puedes decirme algo relacionado con el tema te estaría my agradecido

2 respuestas

Respuesta
1
No se que código este usando, pero el que sea, debes de salir de Word para que no quede una instancia de este, prueba el siguiente código
Option Explicit
Private Sub cmdWord_Click()
Dim appWord As Object
On Error Resume Next
'Tratamo de obtener una instancia de Word
Set appWord = GetObject(, "Word.Application")
'Si no hay instancia de Word en ejecucion nos dara un error
If Err.Number = 429 Then
MsgBox "Word NO esta en ejecución"
'Creamos una instancia de Word
Set appWord = CreateObject("Word.Application")
'Limpiamos el objeto error
Err.Clear
Else
MsgBox "Word esta en ejecucion"
End If
'Salimos de la Aplicación Word, con SOLO liberar la memoria
'NO libera la instancia de Word, hay que salir de la aplicación
appWord.Quit
'Liberamos la memoria usada
Set appWord = Nothing
End Sub
La importante es la linea
appWord.Quit
Que es la que sale de Word, si estas creando un documento de Word directamente, NO te servirá el método Quit sólito, por que los documentos no tienen el método Quit, tienes que hacer referencia a su objeto Padre, de la siguiente manera...
Dim WordDoc As Object
'Creamos una instancia de un Documento de Word
Set WordDoc = CreateObject("Word.Document")
'Salimos de la Aplicación Word, con SOLO liberar la memoria
'NO libera la instancia de Word, hay que salir de la aplicación
WordDoc. Parent. Quit
'Liberamos la memoria usada
Set WordDoc = Nothing
Respuesta

Si estás utilizando objetos de Word desde Visual Basic y estás experimentando problemas con procesos que quedan abiertos, es posible que necesites asegurarte de que estás cerrando adecuadamente los objetos y liberando los recursos asociados con ellos. Aquí hay algunas sugerencias que podrían ayudarte a solucionar este problema:

  1. Cerrar correctamente los objetos de Word: Asegúrate de que estás cerrando adecuadamente los objetos de Word que has utilizado en tu código de Visual Basic. Por ejemplo, si estás utilizando un objeto Document en Word, asegúrate de llamar al método Close() del objeto antes de liberarlo. Puedes hacerlo usando la sintaxis objetoDocumento. Close() en tu código de Visual Basic, donde "objetoDocumento" es la variable que contiene el objeto Document que deseas cerrar.

  2. Liberar los recursos asociados: Después de cerrar los objetos de Word, asegúrate de liberar los recursos asociados con ellos. Por ejemplo, si estás utilizando objetos como Document, Range, o Selection en Word, asegúrate de establecer esas variables a "Nothing" en Visual Basic para liberar los recursos. Puedes hacerlo usando la sintaxis Set objeto = Nothing en tu código de Visual Basic, donde "objeto" es la variable que contiene el objeto de Word que deseas liberar.

  3. Utilizar el comando Quit: Otra opción es utilizar el método Quit() del objeto Application en Word para cerrar completamente la aplicación de Word y liberar los recursos asociados con ella. Puedes hacerlo usando la sintaxis objetoAplicacion. Quit() en tu código de Visual Basic, donde "objetoAplicacion" es la variable que contiene el objeto Application de Word.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas