1
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

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

Posted at

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

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

image.png

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

image.png

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

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

image.png

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

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

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

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

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

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

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

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

image.png

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

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

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

1
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?