问题描述
保存文档后,我需要在Visio中执行功能。 保存后,VBA for Visio具有以下执行功能
Private Sub Document_DocumentSaved(ByVal doc As IVDocument)
'Function Code
End Sub
但是,此功能在保存完成之后并没有真正执行。我可以通过visio文件和Microsoft Office上传中心的日期进行验证,该日期在vba代码完成执行之前不会启动。 (有问题的VBA代码用于与共享点相关的内容,在执行操作之前正确保存文件至关重要。)
因此,我的问题是:还有其他人遇到此“错误”吗?有人知道解决方法吗?
我认为一种可能的解决方法是使用Application.OnTime
。可以在保存之前使用此功能,以在保存完成后安排代码的执行。不幸的是,Appication.OnTime
在Visio的VBA中不可用。
解决方法
请注意,文件在保存时甚至可能不会转到SharePoint(如果您处于脱机状态,则可以将其保存在本地)。然后在几小时后上传,例如当互联网恢复连接时...
无论如何。您可以尝试使用Application.VisioIsIdle,这在Visio不忙于其他任何事情时会定期调用,但是请注意,它的调用频率很高,因此您需要自己添加一些时间管理。