德尔福 - 保持Word文档聚焦

问题描述:

我遇到了一个有趣的问题,我正在使用Delphi编写的当前应用程序。问题是,在某些情况下,TWordApplication的ActiveDocument可以在文档完成之前进行更改。德尔福 - 保持Word文档聚焦

我具有被初始化为低于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); 

在一个工作流程中,文档的创建被创建第二个文档所中断。如果这个文件在保存后没有关闭,那么它会从原来的“偷取”焦点。我认为用户不需要记住关闭第二个文档是合法的。

我想要做的是要么直接切换WordAppWordDoc或可替代 使用WordDoc的焦点为的insertFile - 但这似乎并没有成为一种选择。

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

任何帮助吗?

+0

你可以看看WordApp.ActiveDocument的一些属性,如标题或其他文档属性,以确定ActiveDocument是否是你想要的属性?如果不是,则循环查看打开的文档以找到您要查找的文档并从那里继续。 – 2012-06-29 16:23:07

+0

或WordDoc.Range(开始,结束).InsertFile(....) – Hendra

+0

bibadiak - 我有问题插入到TWordDocument中断,以便插入覆盖文档中的所有内容... –

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