Application.IsUndoingOrRedoing プロパティ (Visio)

現在のイベント ハンドラーが、アプリケーションの [ 元に戻 す] または [やり直し ] 操作の結果として呼び出されているかどうかを決定します。 読み取り専用です。

構文

IsUndoingOrRedoing

expressionApplication オブジェクトを 表す変数。

戻り値

Boolean

注釈

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 のサポートおよびフィードバックを参照してください。