++office2016のVBAでApplication.ScreenUpdatingを利用すると処理終了後にIMEが無効になるときがある。

Anonymous
2019-10-28T02:27:05+00:00

Application.ScreenUpdating = False

10秒ほどかかる大量の「Selection.Find.Replacement」を利用する処理

Application.ScreenUpdating = True

でなるVBAを実行させると、

1、実行中にWordのステータスバーの表示が停止されない(VBA処理の高速化を目的とする画面更新の停止がステータスバーまで効いていないという点ではバグではないか?)

2、処理が終了しWordに戻ってきたときに、IMEが無効となることがある。

開発者テクノロジ | Visual Basic for Applications

ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。

0 件のコメント コメントはありません

6 件の回答

並べ替え方法: 最も役に立つ
  1. Anonymous
    2019-10-28T12:22:56+00:00

    Application.ScreenUpdating = False

    10秒ほどかかる大量の「Selection.Find.Replacement」を利用する処理

    Application.ScreenUpdating = True

    でなるVBAを実行させると、

    1、実行中にWordのステータスバーの表示が停止されない(VBA処理の高速化を目的とする画面更新の停止がステータスバーまで効いていないという点ではバグではないか?)

    2、処理が終了しWordに戻ってきたときに、IMEが無効となることがある。

    2、処理が終了しWordに戻ってきたときに、「IMEが無効となる」と「IME小窓が出現する」以外にWordの「挿入モード」が「上書きモード」に勝手に変わる現象が出現しました。

    VBAから「Application.ScreenUpdating」を外して実行して、判明したことを記載します。

    Application.ScreenUpdatingを利用するか否かに関わりなく

    WordのVBAで「置換のマクロ」を131回繰り返し(普段はもッと繰り返している)実行したことでこの現象が再現しました。

    「Selection.Find」を使わずに下記のような使い方をするとステータスバーに情報が表示されなくなることを知り、やってみました。上記の現象が再現しなくまりました。

    Set myRange = ActiveDocument.Content

     With myRange.Find

         .Text = "a"

         .Replacement.Text = "A"

     End With

    myRange.Find.Execute Replace:=wdReplaceAll

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  2. Anonymous
    2019-10-28T08:22:58+00:00

    Application.ScreenUpdating = False

    10秒ほどかかる大量の「Selection.Find.Replacement」を利用する処理

    Application.ScreenUpdating = True

    でなるVBAを実行させると、

    1、実行中にWordのステータスバーの表示が停止されない(VBA処理の高速化を目的とする画面更新の停止がステータスバーまで効いていないという点ではバグではないか?)

    2、処理が終了しWordに戻ってきたときに、IMEが無効となることがある。

    2、処理が終了しWordに戻ってきたときに、「IMEが無効となる」と「IME小窓が出現する」以外にWordの「挿入モード」が「上書きモード」に勝手に変わる現象が出現しました。

    VBAから「Application.ScreenUpdating」を外して実行して、判明したことを記載します。

    Application.ScreenUpdatingを利用するか否かに関わりなく

    WordのVBAで「置換のマクロ」を131回繰り返し(普段はもッと繰り返している)実行したことでこの現象が再現しました。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  3. Anonymous
    2019-10-28T07:31:40+00:00

    Application.ScreenUpdating = False

    10秒ほどかかる大量の「Selection.Find.Replacement」を利用する処理

    Application.ScreenUpdating = True

    でなるVBAを実行させると、

    1、実行中にWordのステータスバーの表示が停止されない(VBA処理の高速化を目的とする画面更新の停止がステータスバーまで効いていないという点ではバグではないか?)

    2、処理が終了しWordに戻ってきたときに、IMEが無効となることがある。

    2、処理が終了しWordに戻ってきたときに、「IMEが無効となる」と「IME小窓が出現する」以外にWordの「挿入モード」が「上書きモード」に勝手に変わる現象が出現しました。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  4. Anonymous
    2019-10-28T06:03:26+00:00

    Application.ScreenUpdating = False

    10秒ほどかかる大量の「Selection.Find.Replacement」を利用する処理

    Application.ScreenUpdating = True

    でなるVBAを実行させると、

    1、実行中にWordのステータスバーの表示が停止されない(VBA処理の高速化を目的とする画面更新の停止がステータスバーまで効いていないという点ではバグではないか?)

    2、処理が終了しWordに戻ってきたときに、IMEが無効となることがある。

    2、処理が終了しWordに戻ってきたときに、IMEが無効となることがある。以外に「IME小窓」が出現する現象も発生することがあります。

    私は一時的な対処方法としてVBAの処理中にWordのステータスバーの更新を止めると現象が収まるのではないかと思いますので、Word VBAでWordのステータスバーの更新停止の手段があれば教えてください。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  5. Anonymous
    2019-10-28T02:40:17+00:00

    こんにちは。
    バグであれば、パッチがある場合、
    Windows・officeの更新(最新版でなければ)と、officeの修復が有効です。
    パッチのないバグであれば、フィードバックをご送信下さい。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません