次の方法で共有


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