Inicio > office, Office 14, Office 2007, Office Open XML, OOXML, OpenXML, Word > [Word] Cerrar cualquier documento de Word de cualquier instancia

[Word] Cerrar cualquier documento de Word de cualquier instancia

Ya es el tercer post sobre esto, y a petición de un comentario de mi amigo David. Solo una pequeña modificación para cerrar los documentos de Word. Les platico a lo que se refiere y porque publico este post. Resulta que trabajamos con objetos de Word, validación de eventos sobre el Office 2007 y muchas veces tenemos la necesidad de reiniciar una aplicación de Office sin guardar cambios, pero resulta que sino controlamos bien la liberación de los recursos o de los objetos nos puede traer varios errores.

Lo que me preguntaron es como cerrar todos las instancias de Word, pero sin hacerlo desde los procesos como lo menciono en otro post, es decir que pasa si abro un archivo cualquiera y después creo un instancia (desde código) y necesito validar no se… que se cierren todos los documentos, o que se guarden con nombres específicos, que se yo.

En el siguiente ejemplo cerramos absolutamente todos los documentos sin importar la instancia.

Imports Word = Microsoft.Office.Interop.Word

Module Module1

    Sub Main()

        'Variables
        Dim AppWord As New Word.Global
        Dim doc As Word.Document

        'Aquí cerramos todos los documentos sin guardar cambios
        For Each doc In AppWord.Documents
            doc.Close(SaveChanges:=False)
        Next

        AppWord.Application.Quit(SaveChanges:=False)

    End Sub

End Module

Si se dan cuenta es muy similar a lo que publique en el post de cerrar los documentos a partir de una instancia, pero  aquí hacemos referencia a la aplicación Global, esa es la diferencia para poder cerrar todos los documentos de Word que se encuentren abiertos en nuestro Sistema.

Para ver que funciona, prueben abriendo varios archivos de Word y luego ejecuten el programa, verán que se cierran todos sin guardar cambios.

Saludos.

@nor

Etiquetas de Technorati: ,,,
  1. David
    febrero 4, 2009 a las 10:51 pm

    Excelente amigo!!!

    Muy buen ejemplo, sigue postendo mas cosas acerca de programación con objetos de Office!!

    Saludos!!

  2. Misteriosa
    febrero 5, 2009 a las 4:02 am

    Hola en realidad nose mucho de programacion, pero te felicito esta bueno tu blog, encontre cosas utiles que me han funcionado muchisimas gracias. Cuidate.

  3. David
    febrero 5, 2009 a las 4:26 pm

    Q cress amigo!!
    El modulode muestras en tu blog solo funciona para word, lo has implementado con las demás aplicaiones de office??

    Saludos!!jajaja

  4. David
    febrero 6, 2009 a las 12:21 am

    Q pasooo norrr!!!
    Si puedes, la neta me uuurrrrge aplicar cerrar hojas de cálculo sin abrirlas desde una instancia!!

    Saludo2!!
    ‘~’

  1. No trackbacks yet.

Replica a David Cancelar la respuesta