Document.DocumentCreated 事件 (Visio)
在创建文档之后,发生此事件。
语法
表达式。DocumentCreated (doc)
表达 一个代表 Document 对象的变量。
参数
名称 | 必需/可选 | 数据类型 | 说明 |
---|---|---|---|
doc | 必需 | [IVDOCUMENT] | 已创建的文档。 |
备注
DocumentCreated 事件通常添加到 Microsoft Visio 模板文件 (.vst) 的 EventList 集合中。 每当基于该模板创建新文档时,就会触发该事件的操作。
如果您使用 Microsoft Visual Basic 或 Visual Basic for Applications (VBA),则此主题中的语法描述的是一种通用而有效的事件处理方法。
如果要创建自己的 Event 对象,请使用 Add 或 AddAdvise 方法。
若要创建可运行加载项的 Event 对象,请使用 Add 方法,因为它适用于 EventList 集合。
若要创建可接收通知的 Event 对象,请使用 AddAdvise 方法。
若要查找要创建的事件的事件代码,请参阅事件代码。
DocumentCreated 事件可以添加到 Application 对象、Documents 集合或 Document 对象的 EventList 集合中。 前两个集合较为简单:如果在 Application 对象或其 Documents 集合的范围内打开或创建文档,则发生 DocumentCreated 事件。
但是,仅当该事件的操作是 visActCodeRunAddon 时,将 DocumentCreated 事件添加到 Document 对象的 EventList 集合中才有意义。 在此情况下,该事件是可永久存在的,它可与文档一起存储。 如果打开的文档包含永久事件,则触发该事件的操作。 如果新文档基于包含永久事件的文档或是从该文档复制而来,则会将 DocumentCreated 事件复制到新文档中,并触发该事件的操作。 但是,如果事件的操作是 visActCodeAdvise,则该事件不可持久保存,因此不会随文档一起存储;因此,它永远不会触发。
通过将 Application 对象的 EventsEnabled 属性值设为 False,可以避免为响应 DocumentCreated、DocumentOpened 或 DocumentAdded 事件而运行代码,同时避免触发所有事件。
示例
此 VBA 示例说明了如何对添加到绘图中的、基于名为“正方形”的主控形状的形状进行计数。
当创建的新图形所基于的模板包含这段代码时,将触发 DocumentCreated 事件处理程序。 该处理程序将初始化整型变量 intNumberOfSquares,以用于存储计数。
每当向绘图页中添加形状时(无论该形状是从模具中拖动、使用绘图工具绘制还是从剪贴板中粘贴),都会运行 ShapeAdded 事件处理程序。 处理程序检查新形状的 Master 属性,如果形状基于 平方 母版,则递增 intNumberOfSquares。
Dim intNumberOfSquares As Integer
Private Sub Document_DocumentCreated(ByVal vsoDocument As Visio.IVDocument)
'Initialize number of squares added.
intNumberOfSquares = 0
End Sub
Private Sub Document_ShapeAdded(ByVal vsoShape As Visio.IVShape)
Dim vsoMaster As Visio.Master
'Get the Master property of the shape.
'the shape was created locally.
Set vsoMaster = vsoShape.Master
'Check whether the shape has a master. If not,
If Not (vsoMaster Is Nothing) Then
'Check whether the master is "Square".
If vsoMaster.Name = "Square" Then
'Increment the count for the number of squares added.
intNumberOfSquares = intNumberOfSquares + 1
End If
End If
MsgBox "Number of squares: " & intNumberOfSquares, vbInformation, _
"Document Created Example"
End Sub
支持和反馈
有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。