【问题标题】:Opening Microsoft Word document and detect when it closes打开 Microsoft Word 文档并检测它何时关闭
【发布时间】:2012-02-16 02:06:59
【问题描述】:

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

经过一些试验和搜索,我不知道如何进行。可能性似乎包括:

  1. 使用 Process.Start 并监听 Exited 事件。
  2. 使用 Microsoft.Office.Interop.Word,然后通过它启动文档并监听 DocumentBeforeClose 事件。

然而,这些似乎都不能完全解决问题。 (1) 因为对于多个打开的文档只会运行一个 Word 进程,并且收到的 Exited 事件不一定与我的代码负责打开的实际文档相对应。并且(2)因为它无法应对 Word 崩溃的情况,而且要正确整理那些 COM 对象很麻烦。

如果有人知道如何进行此操作,或者有帮助的文章,我将不胜感激。

【问题讨论】:

    标签: .net automation ms-word


    【解决方案1】:

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

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

    祝你好运

    【讨论】:

    • 感谢 DarkJaff。我想我已经找到了一种无需实际进行流程管理即可满足要求的方法,这非常好,因为它看起来像是一个棘手的问题。如果我走那条路,我认为你的回答很好!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-08-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多