Delphi - 保持Word文档聚焦

时间:2012-06-29 15:35:13

标签: delphi ms-word office-automation

我在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 - 但这似乎不是一个选项。

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

任何帮助?

1 个答案:

答案 0 :(得分:0)

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