0

我在 Delphi 中处理的当前应用程序遇到了一个有趣的问题。问题是在某些情况下,我们的 TWordApplication 的 ActiveDocument 可以在文档完成之前更改。

我有一个 TWordApplication (WordApp) 和一个 TWordDocument (WordDoc),它们的初始化如下:

WordApp.Connect;
WordApp.Documents.Add(Template, EmptyParam, EmptyParam, EmptyParam);
WordApp.ChangeFileOpenDirectory(jdir);
WordDoc.ConnectTo(WordApp.ActiveDocument);

大多数情况下,我会更新一些书签或从许多模板中插入文本:

Range := '';
convert := msoFalse;
LinkFile := msoFalse;
Attach := msoFalse;
WordApp.Selection.InsertFile(Template, Range, Convert, LinkFIle, Attach);

在一个工作流程中,文档的创建被第二个文档的创建中断。如果此文档在保存后未关闭,则它会“窃取”原始文档的焦点。我认为用户不需要记住关闭第二个文档是合法的。

我想要做的是将WordApp的焦点切换到WordDoc,或者直接将 WordDoc 用于 InsertFile - 但这似乎不是一个选项。

(还有第三种选择,我在创建第一个文档之前整理第二个文档所需的数据,但这需要更改应用程序逻辑。)

有什么帮助吗?

4

1 回答 1

0

最后,我重写了逻辑以在工作流程的早期准备第二个文档,这意味着我可以不间断地编译最终文档。

于 2012-10-13T08:43:58.463 回答