2009-12-21 27 views
0

我在使用Word VBA的Word文檔中的Document.SaveAs方法存在問題,似乎保存操作是異步的,即。在調用.SaveAs後立即返回,但對於大型Word文檔,實際保存操作可能尚未完成,並且正在另一個線程中進行。Word VBA:如何知道實際的保存操作是否完成?

所以我想問的是,如果有一種方法來檢測實際的保存操作正在進行或完成?

我使用Delphi調用Word的自動化界面,如果它在討論這個問題時意味着什麼,但我不這麼認爲?

+0

大家好, 看來,我的問題是有關SaveAs方法或Saved屬性,但調用Range.InsertFile(aFileName)後,aFileName將被解鎖,你不知道它什麼時候會被解鎖... – 2009-12-22 11:19:01

+0

雖然這並不是你的原始問題。也許你可以改變你的問題,以便它符合爲什麼你接受下面的其他答案0 – 2010-03-09 21:47:53

+0

@Otaku, 謝謝你的幫助。根據我的經驗,你建議檢查Saved財產,但它不起作用,正如StevenzNPaul的回答所解釋的,即使* actual *保存工作尚未完成,Saved財產也將變爲TRUE。 StevenzNPaul的答案解釋說,不可能「知道實際的保存操作是否完成」,所以我接受了他的答案。我希望現在這是清楚的。謝謝你們一樣! – 2010-03-10 04:05:14

回答

1

辦公室自動化的保存是一個無進程調用,所以它將始終運行在一個獨立的進程上,因此它在本質上是異步的。

除非發出異常,否則實際上沒有辦法捕獲通知。

0

它是:

If ActiveDocument.Saved = True then 
/* 'do something */ 
End If 

如果文件還沒有收到申請反對它.SaveAs,你可以檢查這個.Path以及(即If ActiveDocument.Path <> "" Then ....

請注意,這是後臺保存該是異步的,而不是您手動調用的保存 - 通過.Saved進行檢查。

相關問題