次の方法で共有

Normal.dotm内で作成したマクロが悪意のあるものと見なされた場合

Anonymous
2023-01-10T13:13:56+00:00

Microsoft Word for Microsoft 365 を使用しています。

Wordでマクロを作成するとき、

最初の段階では

C:\Users\ユーザ名\AppData\Roaming\Microsoft\Templates

にある Normal.dotm を使ってVBAの編集を行っています。

Wordファイルを開くと、このNormal.dotmも開いた状態になること、

マクロがこのファイルに記録されることから便利なためです。

先日、Normal.dotmを使ってマクロを試作し、実行した際、

DOループで永久ループを作ってしまったのか、反応がなくなり、

Ctrl+BREAKが効かなかったので、アプリケーションを閉じました。

その後、Wordを起動すると、

Normal.dotmの悪意のあるプロシージャが実行された

というようなメッセージが現れ、

Normal.dotmに含まれていたVBAのプロシージャが削除され、

新しいNormal.dotmに置き換わってしまいました。

メッセージは、正確に記録しませんでしたが、

「悪意」という言葉はありました。

作成したマクロが、悪意のあるマクロとみなされて駆除されてしまったようにみえます。

色々探しましたが、削除されたNormal.dotmは見つかりません。

削除前のNormal.dotmは、どこかに保存されているのでしょうか?

また、このような事態を防ぐ方法はあるのでしょうか?

長期間、VBAを使ってきて、このような動作は初めてです。

とりあえずNormal.dotmを使ってマクロを作るのは、できるだけ避けようと思います。

Microsoft 365 と Office | Word | 家庭向け | Windows

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

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

1 件の回答

並べ替え方法: 最も役に立つ
  1. Anonymous
    2023-01-10T15:43:44+00:00

    こんにちは、私はLeonielhou、独立したアドバイザーであり、あなたのようなユーザーです、私はあなたが持つかもしれないどんな質問でも明確にするのを手伝ってうれしいです。

    Normal.dotmは、マイクロソフトワードのマクロとカスタム設定を格納するために使用されるグローバルテンプレートファイルです。Word で新しいマクロを作成すると、通常、既定でこのファイルに格納されます。ただし、エラーまたは無限ループを含むマクロを作成すると、ファイルが破損し、Word がクラッシュしたり、応答しなくなったりする可能性があります。

    この場合、Normal.dotm に含まれる VBA コードが削除され、ファイルの新しいクリーン バージョンに置き換えられたことを示すメッセージが表示されることがあります。これは、悪意のあるマクロからコンピューターを保護するためにWordに組み込まれている安全対策です。

    ほとんどの場合、以前のバージョンの Normal.dotm ファイルは削除される前に保存されません。ただし、ファイル回復ソフトウェアを使用してファイルを回復できる場合がありますが、これらはサードパーティのツールです。

    予防措置として、Normal.dotm ファイルを定期的にバックアップするか、マクロを別のテンプレート ファイルに格納することで、今後これを防ぐことができます。

    さらに、マクロ コードの先頭に "Option Explicit" ステートメントを使用して、すべての変数を使用する前に宣言する必要があります。

    マクロコードが読みやすく、保守しやすいことを確認し、無限ループなどのバグのリスクを減らすのに役立ちます

    または、ブレークポイントやイミディエイト ウィンドウなどの VBA エディターの組み込みデバッグ ツールを使用して、マクロのエラーが問題を引き起こす前に検出して修正することもできます。

    この回答は自動翻訳されています。文法や表現の誤りが発生した場合はご容赦ください。

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

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