解決済み

エクセルで異常 VBAのPGを取り出せない

  • 困ってます
  • 質問No.9049797
  • 閲覧数1397
  • ありがとう数2
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 62% (125/199)

お世話になります。
Excel 2010で互換モードでxlsファイルを使っていたのですが、xlsmに変更してVBAの更なる自動化を図っていました。

そのファイルを書いている最中、別件で、共有ファイルを開く仕事が入って、開いた途端、応答なしになり、強制終了せざるを得なくなりました。

何回もxlsmのファイルを起動しようとしたのですが、開けず、かなり書いたプログラムを読むことができません。

そのファイルは、VSSに張り付いていたxlsを加工していますので、別途保存していませんし、ファイルが大きいので自動保存もしていませんでした。

xlsのファイルから作り直しでしょうか?
よろしくお願いします。

P.S.会社のファイルなので社外に持ち出すことができません。
来週以降にならないといじることはできないセキュリティシステムになっています。

質問者が選んだベストアンサー

  • 回答No.2

以下の手順で救出できる可能性があります。
ポイントは問題の EXCEL ファイルから VBA コードのデータを取り出し、別の EXCEL ファイルに移植して開くところです。

1. 問題の EXCEL ファイルの拡張子を zip に変える
2. 1. で拡張子を変えたファイルを右クリックし、[プログラムから開く]
 →[エクスプローラ]を選択。zip ファイルの中身が表示される。
 ※ここで表示が失敗する場合は救出手段はありません…。
3. 2.で開いた画面中の xl フォルダ内にある vbaProject.bin ファイルを、
 何処か適当なフォルダに DRAG & DROP。
  vbaProject.bin ファイルが取り出せたら、2.で開いた画面は閉じる。

4. 新しい EXCEL ファイルを作り、VBA の入力画面を開いて以下の
 コードを書きこみ、拡張子 xlsm で保存。
  Sub A()
  End Sub
5. 4.で保存したファイルの拡張子を zip に変える。
6. 5. で拡張子を変えたファイルを右クリックし、[プログラムから開く]
 →[エクスプローラ]を選択。zip ファイルの中身が表示される。
7. 3. で取り出した vbaProject.bin ファイルを、6. で表示している画面の
  xl フォルダ内にある vbaProject.bin ファイル上に DRAG & DROP して
  上書き。上書きできたら 6. で表示した画面は閉じる。
8. 5. で zip に変更した拡張子を、xlsm に戻す。
9. 8. で拡張子を戻したファイルをEXCELで開く。
  さて、VBA コードは救出できているでしょうか…?
お礼コメント
oasis701s

お礼率 62% (125/199)

ありがとう御座います。

救済に成功しました。
感謝です。
投稿日時 - 2015-09-22 12:35:24
感謝経済

その他の回答 (全1件)

  • 回答No.1

ベストアンサー率 59% (574/965)

あまり回答になっていませんが、
Book1.xlsmに、標準モジュールを挿入して、お馴染みのコードを入力します。
Sub test()
MsgBox "Hello! World"
End Sub
これを保存して、拡張子に.zipをつけます。Book1.xlsm.zip
(xlsx、xlsmファイルの実体は、xlmファイル群の圧縮フォルダーです)
ファイルのアイコン上で右クリックして、エクスプローラを選択すると、解凍せずに中味が見られます。(この段階で開けないほど破損しているなら、本回答はExitして下さい。
vbaProject.binというファイルがあり、文字通りバイナリーファイルですが、デスクトップにコピーして、無理矢理メモ帳で開いてみます。
Sub te st()
MsgBox " Hello! World nEnd
といった箇所がみられます。変に化けていますが、ある程度は読めるかもしれません。
本気で解読するなら、
http://download.microsoft.com/download/2/4/8/24862317-78f0-4c4b-b355-c7b2c1d997db/%5BMS-OVBA%5D.pdf
で[MS-OVBA]:Office VBA File Format Structureという、巨大pdfがダウンロードできますので、勉強なさって下さい。(VBAコードを書き直す方が速そうですが)
その他のモジュールの場所については、下記リンクをご参照下さい。
http://www.codeproject.com/Articles/15216/Office-bin-file-format
以上、ご参考まで。
お礼コメント
oasis701s

お礼率 62% (125/199)

ありがとう御座います。
投稿日時 - 2015-09-22 12:35:46
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する

特集


感謝指数をマイページで確認!

ピックアップ

ページ先頭へ