vba - 保存后执行例程
问题描述
保存文档后,我需要在 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 中不可用。
解决方案
请注意,文件在保存时甚至可能不会转到 SharePoint(如果您离线工作,则可以将其保存在本地)。并在几小时后上传,例如当互联网连接恢复时......
无论如何。您可以尝试使用Application.VisioIsIdle,它会在 Visio 不忙于其他任何事情时定期调用,但请注意它的调用频率很高,因此您需要自己添加一些时间管理。
推荐阅读
- windows - 如何知道 powershell cmd 将返回什么类型的对象?
- android - 我们可以仅从后端服务器发送数据有效负载以获取 android 中的通知吗
- c++ - C++ 中的 IPython.embed()
- excel - 将 resultRow 变量设置为 ActiveCell
- java - 是否可以从 Thymeleaf 中的控制器更新多个模板?
- php - 从所有锚标记中删除除 href 和 target 之外的所有属性(如果 target != '')
- java - 如何使用 graphql-spqr 访问字段级 Graphql 指令
- javascript - React-Native - this.props 未定义
- python - 如何在 Tumbleweed 中构建 WxPython?
- java - 一个*系列* bean 的多个实例?