Visio) (Application.IsUndoingOrRedoing 屬性
判斷目前的事件處理常式是否因為應用程式中的 復原 或 取消復原 動作而呼叫。 唯讀。
語法
運算式。IsUndoingOrRedoing
expression 代表 Application 物件的變數。
傳回值
布林值
註解
當應用程式在觸發與 Undo 或 Redo 動作相關的事件時 (此動作可能是使用者在使用者介面中起始的,或者自動化用戶端藉由呼叫 Application 物件的 Undo 或 Redo 方法而起始的),IsUndoingOrRedoing 屬性會傳回 True。
當應用程式呼叫事件處理常式時,事件會有「原因」。如果該原因為使用者動作或其他事件處理常式,則在處理該事件的過程中執行可復原的動作是合法的。 不過,如果事件觸發的原因是 Undo 或 Redo 動作,則事件處理常式就不該執行取消復原動作。 這麼做會造成動作無法取消復原。
您通常只會在這個屬性為 False 時,在事件處理常式內執行復原動作。 您可以在旗標為 True 時執行復原動作,但是取消復原佇列會因而損毀。
範例
下列範例會將圖形加入到繪圖中,然後檢查該圖形的加入是否為 Undo 或 Redo 動作的結果。
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 支援與意見反應。