2016-12-15 4 views
0

Excel 2013では:マクロは今日まで正常に動作していました。今、私は "Personal.xlsb"ファイルを開くことができますが、私はもうマクロの表示ボタンを使うことはできません。 Excelを完全に停止するしか方法はありません。私が設計モードに入ると、私はマクロレジストリに全くアクセスすることができません(そうすることで同じ無応答状態になります)。私はPCを完全に再起動し、助けにはならなかった。マクロビューボタンの送信を有効にすると、応答が無応答モードになります

Pbは、特定の "Personal.xlsb"ファイル(私は、XSTARTフォルダ内の別の "個人用"ファイルと置き換えられ、Excelマクロは別の.xlsbファイルで正常に機能しました)に固有のようです。だから私はファイルの破損を疑っている。その場合、元のマクロを復元するか、少なくともマクロファイルを開けて元のコーディングのコピーを入手することは可能ですか?

答えて

1

別のブックのマクロからブックを開くことができれば、コードを取得することができます。このショットを与える:

  • 復元されたコードモジュールを取得するフォルダを作成します。 「C:\ myRecoveredCode」としましょう。 、あなたの破損したファイル「Personal.xlsb」のコピーにExcelのオプション、Trust Center Settings

  • を入れTrust Access to the VBA project object module

  • をチェックし、新鮮なワークブック、コピー/ペーストを作成し、次のマクロを実行します。

    Sub TryRecovery() 
        myFolder = "C:\myRecoveredCode\" 
        Set wb = CreateObject(myFolder & "Personal.xlsb") 
        For Each comp In wb.VBProject.VBComponents 
         comp.Export myFolder & comp.Name 
        Next 
        wb.Close False 
    End Sub 
    

すべてがうまくいくと、ファイルを編集したり、別のブックにインポートしたりすることができます。

+1

おそらく、VBProjectオブジェクトモデルへのアクセスを許可するセキュリティセンターが必要です。 –

+1

次に、違反しているモジュールが見つかるまで、一度に1つずつモジュールをインポート、保存/クローズ/再オープンします。少なくとも、OPはそれを引き起こしている可能性のあるコードをデバッグしたり、Qに特定します。 –

+0

@DavidZemensまさに、私はそれを言うのを忘れました。私はこのメモを追加します。ありがとう。 –

関連する問題