我已经阅读了有关该问题的多篇文章,但似乎没有人对我的问题得出一个像样的结论。 (也许我想看看最近是否有什么事情发生。)
我有一个处理 promise 的小型慈善应用程序。为此,它需要处理和打印文档。
问题是,如果Word在后台打开,应用程序线程将挂起并且不会响应Word的关闭,我必须手动回滚并关闭Word。当然,一切都很好,但我根本无法保证最终用户会关闭 Word,即使我将说明放在用户手册中也是如此。
我不太在意速度,但我想如果可以增强它,那将是一个不错的小奖励。
是否有针对 Delphi 的库可供我打开、编辑、打印和保存文档?如果没有,是否有一种方法可以使用Word Automation,使其在打开时不会与Word的另一个打开句柄发生冲突?
最佳答案
如果您使用GetActiveOleObject
,您将获得正在运行的Word 实例。
通过使用CreateOleObject
,您将获得一个新实例,并且不会受到其他正在运行的实例的困扰。
如果您使用 TWordApplication
包装器,您可以将 ConnectKind
设置为 ckNewInstance
来完成此操作。默认情况下,TWordApplication 将尝试连接正在运行的实例。
关于delphi - 如何在不使用 COM 自动化的情况下处理 Word 文档?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13159644/