我在使用大型Word文档的Word VBA中遇到Document.SaveAs
方法时遇到问题,似乎保存操作是异步的,即。在调用.SaveAs
后,它立即返回,但是对于大型Word文档,实际保存操作可能尚未完成,并且正在另一个线程中进行。
所以我想问的是,如果有办法检测实际保存操作是否正在进行或已完成?
我使用Delphi来调用Word的自动化界面,如果它在讨论这个问题时意味着什么,但我不这么认为?
答案 0 :(得分:2)
办公自动化的保存是一个进程外调用,所以它总是在一个单独的进程上运行,因此它本身是异步的。
除非它给出例外,否则根本无法捕获通知。
答案 1 :(得分:0)
这是:
If ActiveDocument.Saved = True then
/* 'do something */
End If
如果该文档之前没有应用.SaveAs
,您也可以检查.Path
(即If ActiveDocument.Path <> "" Then ....
)
请注意,后台保存是异步的,而不是您手动调用的保存 - 由.Saved
检查。