Application.IsUndoingOrRedoing 属性 (Visio)

确定当前事件处理程序是否因应用程序中的 “撤消”“重做 ”操作而调用。 此为只读属性。

语法

表达式IsUndoingOrRedoing

expression:表示 Application 对象的变量。

返回值

布尔值

备注

当应用程序触发与 UndoRedo 操作相关的事件时,IsUndoingOrRedoing 属性返回 True。该操作是用户在用户界面中初始化的操作或自动化客户端通过调用 Application 对象的 UndoRedo 方法初始化的操作。

当应用程序调用事件处理程序时,该事件具有“原因”。如果原因是用户操作或其他事件处理程序,则在处理该事件的过程中执行可撤消的操作是合法的。 但是,如果触发事件的原因是 UndoRedo 操作,则事件处理程序不应该执行可撤消的操作。 否则将无法恢复操作。

当此属性为 False 时,通常您在事件处理程序内部仅执行可撤消操作。 当标志为 True 时,您可以执行可撤消操作,但是恢复队列将被破坏。

示例

以下示例将形状添加到绘图,然后检查该形状是否已作为 UndoRedo 操作的结果添加。

 
Public Sub IsUndoingOrRedoing_Example() 
 
Dim vsoShape As Visio.Shape 
 
 'Draw a shape to trigger the ShapeAdded event 
 Set vsoShape = ActivePage.DrawRectangle(1,2,2,1) 
 
End Sub
 
Sub Document_ShapeAdded(ByVal Shape As IVShape) 
 
 If Not Application.IsUndoingOrRedoing Then 
 
 Debug.Print "Shape was added by new action." 
 
 End If 
 
End Sub

支持和反馈

有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。