我在 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 - 但这似乎不是一个选项。
(还有第三种选择,我在创建第一个文档之前整理第二个文档所需的数据,但这需要更改应用程序逻辑。)
有什么帮助吗?