none
このブック内のVisual Basic for Applications(VBA)マクロは破損しており、削除されました。マクロの破損は現在のファイルに存在する可能性があります。 RRS feed

  • 質問

  • 【OS】
    Windows10

    【Officeのバージョン】
    Office Home & Business 2019
    バージョン 2011 (ビルド 13426.20308 クイック実行)

    【エラーメッセージ】
    このブック内のVisual Basic for Applications(VBA)マクロは破損しており、削除されました。マクロの破損は現在のファイルに存在する可能性があります。マクロを回復するには、このファイルのバックアップコピーを開いてください(バックアップ コピーがある場合)。

    【質問内容】
    最近(2020年10月)にPCを買い替えました。

    現在、新しいPCのExcel(Office2019)でマクロを含むエクセルを開こうとすると、上記のエラーが表示され、本来あるはずのマクロが消えてしまい困っております。

    以前使用していたPC&Excel(Office2013)では現在でもマクロがある状態で開けますので、マクロ自体は破損していません。


    【試したこと】
    ①バージョンを戻す
    Officeのビルド番号(?)みたいなものを戻したりしてみました。
    でも、もしかしたら私の手順が間違っていたり、対象のビルド番号ではなかった可能性はあります。

    ②Office2013で動かしてみる
    Office2019をアンインストールしOffice2013を入れてExcelファイルを開いてみましたが、同様のエラーが再現しました。そのためOfficeソフトによるエラーではなく、PC本体もしくはWindowsによるエラーなのかなぁと思っております。

    なお、一般的なMicrosoftCommunityでも同様の質問を投げたのですが、解決に至りませんでした。
    解決に向けてお手伝いしていただけると、とても助かります。
    よろしくお願いします。

    2020年12月3日 9:22

すべての返信

  • Office のバージョンを戻しても発症したことから、実行環境の問題が疑われます。

    お使いの Windows 10 のバージョンを教えてください。(winver コマンドで確認できます)
    併せて、移行前の PC の OS バージョンも併記頂けると幸いです。

    というのも、Windows 10 2004(20H1) および 20H2 において、半角カナの処理方法が変わったことで、VBScript / .NET Framework / Office VBA 界隈で、文字列判定処理の結果が、以前と変わってしまったという事象が報告されているためです。

    その影響により、Office 2013 でも Office 2019 でも開けないという事象に陥っているのではないか…と疑っています。

    まだ開ける環境が残っているとのことですので、モジュールあるいはボタン等のオブジェクト名に「半角カナ」が使われていないか、確認してみては如何でしょうか。

    https://social.msdn.microsoft.com/Forums/ja-JP/4e6223e2-34d0-4a5f-bb61-109bc28040b6/windows-10-1249612540124721251912531-2004-20h1-20h2-1997812391


    2020年12月3日 10:29
  •  魔界の仮面弁士さん

    アドバイスいただき、ありがとうございます。
    その後、以下を参考に自己解決することができました。

    https://docs.microsoft.com/ja-jp/office/vba/language/concepts/getting-started/64-bit-visual-basic-for-applications-overview

    つまり、私の新しいOfficeが64ビット版になったことで、それまで32ビット版で作られていたVBAを開こうとするとエラーになっていたようです。Declareステートメントの前にPtrsafeを追加することで解決できました。
    表示されたエラーメッセージが抽象的な内容だったため、この答えに到達するまで時間が掛かってしまいました。。
    この度は、お手数をおかけしてすいません。

    2020年12月6日 0:14