1

我有 Microsoft Word 模板,我从我的应用程序中自动填充它的字段,当用户请求打印时,我打开这个模板。

但是,每次用户在填写字段后请求打印时创建 Word 应用程序非常昂贵,并且可能会导致打开模板时出现一些延迟。所以我选择缓存对 Word 的引用,然后打开新填充的模板。

这解决了性能问题,因为打开文件比每次重新创建 Word 成本更低,但这仅在用户关闭文档而不是整个 Word 应用程序时才有效。发生这种情况时,我对 Word 的引用变得无效并在下一次打开模板的请求时返回异常:“ RPC 服务器不可用”。我试图订阅该 BeforeClosing事件,但这会触发退出 Word 以及关闭文档。

我的问题是如何知道 Word 是否正在关闭文档或退出整个应用程序,以便我采取适当的操作,或者任何提示其他思考方向的提示,以提高打开 Word 模板的性能。

4

1 回答 1

3

我不熟悉如何正确订阅 Word 关闭事件。但似乎您可以采取的一种选择是乐观地假设 Word 未关闭并使用您的缓存路由。在较高级别捕获ExceptionWord 关闭时引发的类型。如果您遇到此异常,请删除您对 word 的引用并像第一次一样重复该操作。

您不会一直以这种方式获得缓存。但是您将能够利用用户仅关闭文档的情况。

于 2010-03-20T10:16:20.740 回答