VBAや画像をいっぱい使ったExcelファイルを使って仕事をしていました。
追加で、別のVBAを使ったファイルのシートをコピーしたところ、VBAでエラーコメントは出たのですが、そのまま保存すると、その後2度と開かなくなってしまいました。開く途中でExcelの強制終了となってしまいます。「VBAマクロを開かない」として開こうとしても同じです。もちろん、他のExcelファイルは開きます。直前のファイルをバックアップを取っておけばよかったのですが、後の祭りです。
以前にも、VBAマクロをたくさん使った重いファイルが、途中で開けなくなった事が数度あります。
今回は諦めきれないので、何とか救済する方法があれば是非教えて下さい。

このQ&Aに関連する最新のQ&A

A 回答 (3件)

こんにちは



 以下のページがご参考になるのでは?

[XL2000] ファイルにアクセスできなくなった場合の原因と対策
http://www.microsoft.com/JAPAN/support/kb/articl …

[XL2000] フロッピーディスクに保管されているファイルを扱う際の注意点
http://www.microsoft.com/JAPAN/support/kb/articl …

Microsoft Excel Viewer 97
http://officeupdate.microsoft.com/japan/download …

XL: Summary of Methods to Recover Data from Corrupted Files
http://support.microsoft.com/support/kb/articles …

XL2000: Methods for Recovering Data from Damaged Workbooks
http://support.microsoft.com/support/kb/articles …

参考URL:http://www.microsoft.com/JAPAN/support/kb/articl …

この回答への補足

kbonbさん、皆さん有難うございます。
実は上記URLには私もアクセスしてみました。
私の目的は、シートに貼ったオブジェクトの復活と、VBAマクロの復活及びマクロフォームの復活なのですが、残念ながら上記方法で復活できるのはテキストのみのようです。
これ以外にも、http://www.internetclub.ne.jp/TECH/Ztoday/UD/2k0 …
にあるrecoveryやrebuilderを試してみましたが、上手くいきませんでした。

補足日時:2001/09/05 09:14
    • good
    • 0

IEで開くことはできないでしょうか?



また、正常に終了されなかった際のExcelファイルのバックアップが入る、Windowsフォルダ内の「Application Data」→「Microsoft」→「Excel」内にバックアップは残っていないでしょうか?
    • good
    • 0
この回答へのお礼

IEで開くこともやってみましたが、やはりExcelを呼び出したところで異常終了で終わってしまいました。
バックアップの確認に関しては、もういろいろ試行した後だったためか、残っていませんでした。
ただ、異常終了時にご指摘のフォルダにバックアップが残ることは知りませんでした。今後の参考にさせていただきます。

お礼日時:2001/09/05 09:25

VBAや画像の使われているファイルで確かめたことはありませんが、Excelのファイルが開かなくなった時に試している方法があります。



Wordを起動し 開く から ファイルの種類を「Microsoft Excel のワークシートを開く*.xls;*.xlw」にして、開かなくなったファイルを選択し 開くをクリック。
シート名を選択してOK
開くことができたら、すべてを選択し、コピーする。
Excelを起動して、編集から貼り付け。

できるかどうか分かりませんが試してみては。

この回答への補足

私の目的は、シートに貼ったオブジェクトの復活と、VBAマクロの復活及びマクロフォームの復活なのですが、残念ながら上記方法で復活できるのはテキストのみのようです。

補足日時:2001/09/05 09:21
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QExcel VBA で、ファイルを開いた時、自動的にマクロが実行させる方法

Excel VBA で、ファイルを開いた時、自動的にマクロが実行させる方法を教えてください。
参考になる、URLでもかまいません。

Aベストアンサー

ThisWorkbook に Workbook_Open というイベントを記述
もしくは、どこかのモジュールに Auto_Open というプロシージャを作成。

参考URL:http://www.asahi-net.or.jp/~ef2o-inue/vba_k/sub04_130_04.html,http://park11.wakwak.com/~miko/Excel_Note/01-01_kidou.htm

Qフォルダ内のexcelファイルを順に開いてマクロ有効ブックに別名保存して閉じるマクロを作りたい

マクロは難しい・・・

https://oshiete.goo.ne.jp/qa/2598781.html
上記URLでフォルダ内の全ファイルを開くマクロがありましたので参考にしていたのですが別名で保存の段階で詰まってしまいました。貴重な休日がああ~~
現在仕事の引き継ぎでマクロ非対応のファイルをマクロ有効にしようとしているのですが多いと1フォルダに100個、全部で400以上あるため自動でできたらなあと考えています
やりたい作業は、

1.同じフォルダにあるファイルを開く
2.別名で保存でマクロ有効ブックとして保存(名前は開いたファイルのまま)
3.閉じる
4.次のファイルを開く
5.1~4をフォルダ内のファイル全てに適用するまで繰り返す

というものです
URL先のコードに別名で保存のコードを入れればいいんじゃん!やったぜひとりでできるもん!と思い追加したいマクロを記憶しながらコードを見て作ってみたのですが同じ名前で保存されたり end sub が必要などとエラーが出て上手くいきませんでした(´;ω;`)

Aベストアンサー

失礼しました。パスの指定が不完全でした。これでどうでしょう。

Sub sample()
Dim Fs, Fl, Fn, wb
Set Fs = CreateObject("Scripting.FileSystemObject").GetFolder(ThisWorkbook.Path).Files
For Each Fl In Fs
Fn = ThisWorkbook.Path & "\" & Fl.Name
If Right(Fn, 5) = ".xlsx" Then
Set wb = Workbooks.Open(Fn)
Fn = Left(Fn, Len(Fn) - 5) & ".xlsm"
Application.DisplayAlerts = False
wb.SaveAs Filename:=Fn, FileFormat:=xlOpenXMLWorkbookMacroEnabled
wb.Close
Application.DisplayAlerts = True
End If
Next
End Sub

失礼しました。パスの指定が不完全でした。これでどうでしょう。

Sub sample()
Dim Fs, Fl, Fn, wb
Set Fs = CreateObject("Scripting.FileSystemObject").GetFolder(ThisWorkbook.Path).Files
For Each Fl In Fs
Fn = ThisWorkbook.Path & "\" & Fl.Name
If Right(Fn, 5) = ".xlsx" Then
Set wb = Workbooks.Open(Fn)
Fn = Left(Fn, Len(Fn) - 5) & ".xlsm"
Application.DisplayAlerts = False
wb.SaveAs Filename:=Fn, FileForma...続きを読む

QExcel、ファイルを開く度に、同じSheetを開きたい!

Excelのファイルで、いくつかのSheetを使っています。
編集して内容を保存すると、
次に使うとき(開いたとき)に、最後に編集・保存したSheetが開いてしまいます。

これが、ちょっと不便で・・・。

「必ず、Sheet1が開くように」
みたいな設定って、できますか?

Aベストアンサー

マクロ(VBA)を使えば可能です。
Alt+F11でVisualBasicEditorを開く
This WorkBookを開いて下記のコードを作成する。
Private Sub Workbook_Open()
Sheets("Sheet1").Select
End Sub
保存して閉じる。
※「ツール」「マクロ」「セキュリティ」が「中」か「低」にしないと実行しません。
「高」「最高」で実行する場合は、「信頼できる発行元(2000ではソース元)」としての証明登録が必要です。
http://www.microsoft.com/japan/office/ork/2003/seven/ch23/SecA02.htm

QExcel VBAでファイルを開くとマクロを実行させるにはどのように記

Excel VBAでファイルを開くとマクロを実行させるにはどのように記述すればいいのでしょうか?
例えば、ファイルを開くと指定のセルの削除させるような。

よろしくお願いします。

Aベストアンサー

標準モジュールに
Sub Auto_Open()
worksheets(1).range("A1:A10").clearcontents
end sub
と記入しておくとか。(マクロ名とマクロの保存場所が重要)

ThisWorkbookに
praivete sub workbook_Open()
worksheets("Sheet2").range("B1:B10").clearconents
end sub
と記入しておくとか。(マクロ名とマクロの保存場所が重要)


ところで
>Excel VBAでファイルを開くとマクロを実行させる

「手でブックを開いたときに」「マクロが実行されるVBA」について聞きたいのか。
「VBAでファイルを開いたときに」「マクロを実行させる」について聞きたいのか。
どっちなのか明確にしておくと,それだとopenイベントを使いましょうとかまた違う回答が出てきます。

QEXCEL VBA EXCEL2000で「ファイルを開く」を表示させる

EXCELで、「ファイルを開く」を表示させようとしています。
下記命令文でEXCEL2003ではうまくいくのですが、2000だとエラーになるようです。
どちらでも使えるコマンドを教えていただけるでしょうか。
タイトル = "ファイルを開く"
ファイルの場所 = "C:\Users" '場所
フィルタ1a = "CSV" '種類
フィルタ1b = "*.csv" '拡張子
With Application.FileDialog(msoFileDialogOpen)
.Title = タイトル
.InitialFileName = ファイルの場所
.Filters.Clear 'フィルタクリア
.Filters.Add フィルタ1a, フィルタ1b 'フィルタ設定
.AllowMultiSelect = False '複数選択不可
.Show
End With

Aベストアンサー

#3 の回答者です。

>Sub Test2のほうを試したところパスが見つかりません とエラーが出ますが、どういったことなのでしょう

今、調べてみましたが、「\」(パスセパレータ)を抜くと、いけないのでした。こちらには、ないパスだったので、いい加減に書いてしまいました。
Const ファイルの場所 = "C:Users" '場所
  ↓
Const ファイルの場所 = "C:\Users" '場所


人気Q&Aランキング

おすすめ情報