Devarajanは、ブックが破損する状況に遭遇しましたが、ブックに関連付けられているマクロモジュールを回復したいと考えていました。 (マクロはかなりの開発時間を表しています。)

Devarajanは、モジュールをどのように回復できるのか疑問に思いました。

答えは、主に、ブックが実際にどの程度破損しているか、および破損がブック内のどこにあるかによって異なります。破損したブックを回復する方法については多くのことが書かれています。この点に関しては、次のリソースが役立ちます。

http://support.microsoft.com/?kbid=820741 http://www.jkp-ads.com/Articles/CorruptFiles.asp

これらのページは、ワークブックに関連付けられたモジュール内のマクロの回復ではなく、データの回復に特に言及しています。マクロを取得するために試みる可能性のあることの1つは、次のとおりです。

。 Excelを開きますが、問題のあるブックは開きません。

。計算モードを手動に設定します([式]タブ| [計算]グループ| [計算オプション] | [手動])。

。セキュリティ設定を高に設定します( linkDeveloper tab |コードグループ|マクロセキュリティ|マクロ設定|通知なしですべてのマクロを無効にする)。

。面倒なワークブックを開きます。正常に開くと、マクロが無効になっていることが通知されます。 (ブックが開かない場合は、Excelをシャットダウンすることをお勧めします。この一連の手順は機能しません。)

。 Alt + F11を押して、VBAエディターを表示します。

。プロジェクトエクスプローラーで、保存するモジュールを見つけます。

。モジュール名を右クリックして、[ファイルのエクスポート]を選択します。

。モジュールを保存する場所の名前と場所を指定します。

。 VBAエディターを閉じて、Excelを終了します。

。モジュールを独自のファイルに保存すると、必要に応じて別のブックにインポートできるようになります。

回復を試みる別の方法は、MicrosoftOfficeの無料の代替手段であるOpenOfficeを使用することです。 OpenOfficeのスプレッドシートプログラムはExcelファイルを開きますが、一部の破損の問題にはそれほど敏感ではありません。

それでも機能しない場合は、ディスクからセクターごとにファイルを読み取って、各セクターの情報を確認できる低レベルのファイル操作ツールを使用してみてください。ほとんどの種類のファイルでは、これはあまり役に立ちません。実際、Excelブックからデータを回復するのに役立ちません。ただし、マクロの回復は別の話です。これらはプレーンASCIIテキストでブックに保存されるため、マクロコードを認識して、ディスクツールからコピーできるはずです。

注:

このページ(または_ExcelTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。

_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。

このヒント(12712)は、Microsoft Excel 2007、2010、2013、2016、2019、およびOffice 365のExcelに適用されます。Excelの古いメニューインターフェイス用のこのヒントのバージョンは、次の場所にあります。