エクセルバージョン違いのエラーに対する対処

エクセル2010で作ったマクロ入りファイル(.xlsm)をエクセル2007で使おうとするとエラーが出ることがあります。

「DLL読み込み時のエラーです。」と出ます。

これが表示されると、保存しようとしても、「~の保存中にエラーが検出されました。いくつかの機能を削除または修復することにより、ファイルを保存できる場合があります~」というエラーが。

こうなると保存すらできないので、なにもできない。

結論から言うと、この問題の原因は参照設定で、参照不可のライブラリにチェックが入っているからです。

参照不可のものは、このライブラリが「場所」に表示されたパスに存在しないということです。じゃあ、このチェックを外せば万事解決か。しかし、チェックを外してOKを押してもエラーが出ます。どうしても変更させたくないのか。

対処1.配布先と同じバージョンのエクセルを使う

 配布先がエクセル2007を使っているのなら、開発側も2007を使ってマクロを作ります。

対処2.参照不可ライブラリのチェックを外して配布

 配布先のバージョンのエクセルが必要です。

 VBAの編集画面から、ツール⇒参照設定。参照不可となっているライブラリのチェックを外し、OKを押します。それを配布します。

対処3.ライブラリをダウンロードして入れる

 参照不可になっている場所にダウンロードした該当ファイルを入れてみるやり方。今回、何のライブラリがないかというと、MSWORD.OLBというやつですね。

それをネットで検索してみる。今回のライブラリは検索でヒットして、ありました。ダウンロードして、Office14フォルダ内に入れます。……エラーが出なくなり、動きました。

これ以外にも最初から作り直すという方法がありますが、面倒くさそう。

エクセルだけではなく様々なところでバージョンの違いの問題は起こります。配布先がどのバージョンを使っているか、事前に確認するのが間違いがないやり方でしょう。

タイトルとURLをコピーしました