打开Microsoft Word文档并检测它何时关闭

时间:2012-02-15 15:23:43

标签: .net automation ms-word

我需要从.NET代码中打开和管理存储在文件系统上的Word文档。特别是,我希望能够显示一个对话框,并在用户关闭相关Word文档时将其提交给服务器。

经过实验和搜索,我不知道如何处理这个问题。可能性似乎包括:

  1. 使用Process.Start并侦听已退出事件。
  2. 使用Microsoft.Office.Interop.Word,然后通过该文档启动doc并监听DocumentBeforeClose事件。
  3. 然而,这些似乎都没有完全解决问题。 (1)因为只有一个Word进程为多个打开的文档运行,并且收到的Exited事件不一定对应于我的代码负责打开的实际文档。并且(2)因为它不能处理Word崩溃的情况,并且正确地整理这些COM对象是一件麻烦事。

    如果有人知道如何继续这个,或者有帮助的文章,我将不胜感激。

1 个答案:

答案 0 :(得分:1)

我在之前的工作中做过类似的事情,只是来自网页。我所做的是该文档从网站下载到本地计算机,并在word中有一个新的工具栏。对于新工具栏,我认为它是宏,所以编码是在VBScript中。我在这个工具栏中有几个按钮,用于将文档提交到服务器并更新数据库中的版本,在本地保存文档。事实上,由于您可以连接到数据库并在VBScript中使用FSO,您可以执行任何操作,包括验证文档当前是否由其他人打开等等。

这只是一个有效的建议。也许您可以使用此解决方案的一部分并将其与您自己的解决方案混合以找到令人满意的结果。

祝你好运