どなたか教えてください!
1年近く使用してきたエクセルのマクロが、先月、突然、動かなくなりました。
マクロ起動時に[Microsoft Visual Basic]のダイアログが表示され、「ファイルが見つかりません:VBA6.DLL」のメッセージが表示されたまま、動きません。
原因といえば、エラーが発生する前にVBAの修正を一箇所行いました。しかしそれを元に戻しても同じ状態のままです。なぜ?どうして??
大変困っています。どなたか、ご教授願います!!
うーん、ファイルを検索で、"VBA6.DLL"をさがしてみたらどうでしょうか?
もしヘンなところにあったりするようなら、戻してあげればもどりますけど…。
もしOfficeのCDがあるようなら、
VBA6.DLLをSystemフォルダにいれなおしてみたら…?
ちなみにうちで検索してみましたけど、
VBA6というファイルは見つかりませんでした。
ヘンなことしちゃったんでしょうか…。
Visual Studioをインストールしているなら、
VBA6.DLL はデフォルトで VisualStudio\VB98\の直下に
あるはずです。
これには、VBとVBAの共有言語要素がはいっており、VB側から
利用しているはずです。
Excelの場合、Program Files\Common Files\Microsoft Shared\VBA\VBA6\
直下にあるVbe6.dllを利用していると思っていましたが・・・。
もしかして、Visual Basic for Application の参照設定いじってません?
あるいは、マクロ内でVBのコンポーネントか何か呼んでるとか・・・。
あ、ほんとだ^^;
Officeとおんなじドライブだと思って、そっちしか探さなかったです。
それをSystemフォルダにいれれば、ごく普通に動作しますかねえ…。
たかみちえさん、Sayさん、調べていただいて有難うございます。
それから、タイトルをタイプミスしていた事、お詫びいたします。。。
「ファイルが見つかりました」ではなく、「見つかりません」でした(謝)。
ファイル検索で見つからなかったファイルですが、ご教示いただいたフォルダに[Vbe6.dll]ダイナミックリンクライブラリを発見することができました。
「それをSystemフォルダに入れる」とご教示いただきましたが、
C:\Program Files\Common Files\SYSTEMの事でしょうか?
上記フォルダに[Vbe6.dll]ファイルをコピーして、マクロを実行してみましたが、結果は同じでした。コピーする場所がおかしいのでしょうか?
ちなみに、Excelの再インストールも行ってみました。
Excelをアンインストール(アプリの削除)してから、インストールしたのですが、これも結果は同じで動きません(泣)。
Visual Basic for applicationの参照設定を触った記憶はありませんが、
知らぬ間に変なことをしてしまったかも知れません。
何をすると、参照設定が変わってしまう現象が起こるのでしょうか??
すみません、知識不足です。。。宜しくお願い致します。。。
メッセージに出ているのはVBA6.DLLでしょうか?
それともVBE6.DLLでしょうか?
VBE6.DLLは
Common Files\Microsoft Shared\VBA\VBA6\
においておいてください。
それと、一応ExcelのVisual Basic Editorの
ツール→参照設定で
少なくとも以下の4つの参照設定が
されていることを確認しておいてください。
Visual Basic for Applications
Microsoft Excel *.0 object library
OLE Automation
Microsoft Office *.0 object library
Systemフォルダというのは、C:\Windows\system\のフォルダです。
そこに入っていれば、どの場所にあるアプリケーションからでも参照できると思います。
けど、特殊な状況ならわかりませんけど…。
(たとえばHSPのDLLなどは、同一のフォルダに置かないと動作しませんでした)
メッセージに出ているのはVBA6.DLLです。
それから、以下の4つのファイルが参照可能となっていることを確認しました。
Visual Basic for Applications
Microsoft Excel 9.0 object library
OLE Automation
Microsoft Office 9.0 object library
C:\Windows\system\ フォルダへ[Vbe6.dll]ファイルをコピーしてみましたが、
結果は同じでした。[Vbe6.dll]ファイルは
Common Files\Microsoft Shared\VBA\VBA6\
においてあります。。。
発生の状況をもう少し詳しくご説明させていただきます。
あるフォルダ内には4つのマクロ付きExcelファイルがあり、それを毎月フォルダごとコピーして、引用しています。
9月中旬に突然、このうちの1ファイル(以下Aファイルと呼ぶ)のマクロが上記エラーにより動かなくなりました。しかし、なんとか元フォルダからAファイルのみをコピーし、データを転送したら動いたので1ヶ月使用しました。エラーの発生したファイルは今でも動きません。
10月上旬には、再びAファイルのマクロがエラーにより動かなくなりました。
しかし、9月と違う点は、Aファイルには2つのマクロ(Module1,Module2)があり、Module1は動くがModule2がエラーにより動かない現象が発生しました。
入力データも調査しましたが、特に変化はありません。
エラーが発生した際[OK]をクリックすると、Microsoft Visual Basicのデバッグ画面に変わり、Module2の先頭部分(Sub XXXXX←マクロ名)でストップしています。
以上です。長文ですみません!!m(__)m
いつから使ってるんですか?
2桁が絡んできてvba6が必要になって、ないからエラー…って事はないかな…。
まさか、OSがMeで
2001年9月9日問題に
ひっかかった、というわけでも
ないでしょうし・・・
使用しているOSはWin98です。
このマクロはもう一年近く使用しています。
その間、何度がマクロ修正をしましたが、
なんの問題もありませんでした。。。
2桁が絡んできて・・・というのはどういうことでしょうか??
データの事ですか??
その後、詳しく調査する時間がなかった為、
情報が不足気味ですみません。
日曜日に何をしたら、どのタイミングでエラーが
発生するのか調査してみます。。。
現在正常に動作しているマクロに対して、エラーの発生したデータをコピーして実行したり、マクロ修正を行って上書きをしたり・・・。
色々と試してみましたがエラーが発生する現象は再現せず、エラーが発生したタイミングの特定はできませんでした。。。
問題のあるファイルのマクロを実行すると、以前、
『ファイルが見つかりません:VBA6.DLL』は表示されます。
とりあえず、このエラーメッセージの表示を防止する為に[VBA6.DLL]ファイルを
C:\Windows\system\ フォルダへ格納しようと思います。
そこで、質問ですが、、、同ファイルはどのサイトからダウンロードできますでしょうか??できれば、フリーが良いのですが・・・。
ご存知の方はお知らせください。宜しくお願い致します。。。
んー、フリーはないかなぁ…。
VBA6と検索したら、数個出てきて、
さらにそれっぽそうな題のところもあるにはありましたけど…。
OfficeのCDとかには…。ないんですよね…。
んー、以前動いてたことだし、CDとか探しまわればある可能性もああるかも…。
でもないんですよね。たぶん…。
> 2桁が絡んできて・・・というのはどういうことでしょうか??
1けたと2けたでは内部での処理が違うかなーって、そう思っただけです^^;
結局内部では16か2進数かな…^^;
ツイート | ![]() |