2012-06-29 68 views
0

我遇到了一個有趣的問題,我正在使用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中斷,以便插入覆蓋文檔中的所有內容... –

回答

0

最後我重寫了工作流中較早準備第二個文檔的邏輯,這意味着我可以不間斷地編譯最終文檔。