Si su uso de la biblioteca Microsoft.Office.Interop.Word hay un evento que puede suscribirse también:
Microsoft.Office.Interop.Word.Application wordApp =
new Microsoft.Office.Interop.Word.Application();
wordApp.DocumentBeforeClose +=
new ApplicationEvents4_DocumentBeforeCloseEventHandler(
wordApp_DocumentBeforeClose);
...
private void wordApp_DocumentBeforeClose(Document Doc, ref bool Cancel)
{
// Do your thing
}
Editar:
Para cuidar el bloqueo de archivos ==> eche un vistazo a this post. Como puede ver, se hacen algunas cosas en el documento antes de cerrar:
- Compruebe si el documento está guardado. Si no es así, pregunte dónde guardarlo y hágalo usted mismo.
- cerrar el documento mismo
- Cierre Word
Después de estas cosas son atendidos, puede hacer sus cosas. La cerradura debería ser liberada.
¿Esto ayuda? http://stackoverflow.com/questions/4329521/how-to-handle-word-close-event-from-winforms-application – Koen
También probamos esto, pero notamos que si ya existía un procesador de palabras, nuestro nuevo proceso se fusionaba en el funcionamiento. También organizamos una vista previa, por lo que siempre hay un proceso de palabras. – MBulli