首页 > 解决方案 > 保存后执行例程

问题描述

保存文档后,我需要在 Visio 中执行一个功能。
VBA for Visio 保存后执行如下功能

Private Sub Document_DocumentSaved(ByVal doc As IVDocument)
    'Function Code
End Sub

但是,此函数不会在保存完成后执行,而是在之前执行。我可以通过 Visio 文件的日期和 Microsoft Office 上传中心来验证这一点,它在 VBA 代码完成执行之前不会启动。(有问题的 VBA 代码用于与 SharePoint 相关的内容,必须在执行操作之前保存文件。)

一种可能的解决方法是Application.OnTime. 该函数可以在保存之前使用,以安排保存完成后代码的执行。不幸的是,Appication.OnTime在 VBA for Visio 中不可用。

标签: vbavisio

解决方案


请注意,文件在保存时甚至可能不会转到 SharePoint(如果您离线工作,则可以将其保存在本地)。并在几小时后上传,例如当互联网连接恢复时......

无论如何。您可以尝试使用Application.VisioIsIdle,它会在 Visio 不忙于其他任何事情时定期调用,但请注意它的调用频率很高,因此您需要自己添加一些时间管理。


推荐阅读