Visio 2010 にて SetViewRect メソッドが正常に動作しない場合がある

現象

Visio 2010 にて Application.ShowChanges プロパティ値が False の状態で、Window.SetViewRect メソッドを使用すると、図面の位置が意図しない場所に移動する現象が発生します。
Application.ShowChanges プロパティ値が True の状態の場合は、正常に動作します。

回避策

Window.SetViewRect メソッドを使用する際は、Application.ShowChanges プロパティ値を True である状態で使用してください。

状況

マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。

詳細

問題の再現手順
  1. Visio 2010 を起動します。
  2. 空白の図面を新規作成します。
  3. 図面をスクロールし、ウィンドウの右側、または左側に図面が表示されるようにします。
  4. Alt + F11 キーを押し、Visual Basic Editor を起動します。
  5. 以下の例のような Application.ShowChanges プロパティ値が False の状態で Window.SetViewRect メソッドを使用する処理を記述します。

    Sub Macro1()
        'ズーム倍率保持
        Azoom = ActiveWindow.Zoom

        Application.ShowChanges = False
        ActiveWindow.SetViewRect 2, 5, 1, 1

        ' ズーム倍率を元に戻す
        ActiveWindow.Zoom = Azoom
        Application.ShowChanges = True

    End Sub
  6. Visio 2010 の画面に戻り、Alt + F8 キーを押し、上記で作成した Macro1 を実行します。

結果
図面がウィンドウの左下にスクロール アウトします。
プロパティ

文書番号:2518285 - 最終更新日: 2016/09/29 - リビジョン: 1

Microsoft Visio Premium 2010, Microsoft Visio Professional 2010, Microsoft Visio Standard 2010

フィードバック