次の方法で共有


Application.Redo メソッド (Visio)

最後に行った "元に戻す" 単位をやり直します。

構文

やり直し

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

戻り値

なし

解説

Undo メソッドの効果を元に戻す場合に、Redo メソッドを使用します。 たとえば、ある項目を消去してからその項目を Undo メソッドで復元した場合、Redo メソッドを使用すると、再度その項目が消去されます。

開いている "元に戻す" 単位の範囲内で実行されるコードからは、Redo メソッドを呼び出すことはできません。 次のいずれかに該当すると、コードは、開いている "元に戻す" 単位の範囲内にあります。

  • コードが、Visio ユーザー インターフェイスによって起動されるマクロまたはアドオンである。

  • コードが、VisioIsIdle イベント以外の Visio イベントに応答するイベント ハンドラー内にある。

  • コードが、ユーザーが作成した元に戻す範囲内にある。 開いている "元に戻す" 単位の範囲内にあるコードから Redo メソッドを呼び出すと、例外が発生します。

Visio のインスタンスが、元に戻す操作およびやり直し操作を実行中の場合は、Redo メソッドにも例外が発生します。 Visio のインスタンスが、元に戻す操作およびやり直し操作を実行しているかどうかを判別するには、IsUndoingOrRedoing プロパティを使用します。

VisioIsIdle イベント ハンドラーから Redo メソッドを呼び出すことができます。VisioIsIdle イベントは IsUndoingOrRedoing プロパティが False の場合にのみ発生します。 また、Visio インスタンスによって呼び出されないコード (Visual Basic エディターや外部プログラムから呼び出されたコードなど) から Redo メソッドを呼び出すこともできます。

次の VBA (Microsoft Visual Basic for Applications) マクロは、操作を元に戻したりやり直したりする方法を示します。

 
Public Sub Redo_Example() 
 
 Dim vsoShape As Visio.Shape 
 
 'Draw a rectangle, use Undo to delete it, and 
 'then use Redo to redraw it. 
 Set vsoShape = ActivePage.DrawRectangle(1, 5, 5, 1) 
 
 'Delete the shape. 
 Visio.Application.Undo 
 
 'Bring it back. 
 Visio.Application.Redo 
 
End Sub

サポートとフィードバック

Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。