我在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 - 但这似乎不是一个选项。
(还有第三个选项,我在第二个文档之前整理所需的数据我创建了第一个文档,但这需要更改应用程序逻辑。)
任何帮助?
答案 0 :(得分:0)
最后,我重写了在工作流程中早期准备第二个文档的逻辑,这意味着我可以不间断地编译最终文档。