0

コンピューターでユーザー定義関数を開発し、ドキュメントを XLSM として保存しました。会社の他のユーザーに配布すると、ワークブックを開いて「マクロを有効にする」を押す限り、「プロジェクトまたはライブラリが見つかりません」というエラーが表示されます。

にヒットDebugすると、このように黄色の線がユーザー定義関数の先頭行に落ちます。

最初の行のエラー

次に、Tools - Reference of VBE を確認しましたが、すべてのコンピューター (私のユーザーと他のユーザー) に欠けているものは見つかりませんでした。

しかし、リファレンスは少し違います。

私のコンピューターでは、

開発者のコ​​ンピューターでの参照

他のユーザーのコンピュータでは、

他ユーザーでの参照

唯一の違いは、ハイライトされた行です。Project 2016 と Excel 2013 をインストールしたため、私のコンピューターでは Microsoft office 16.0 Object Library です。他のものは15.0です。

ちなみに、「マクロを有効にする」ボタンを押す前に上の画像が表示されます。これは、一度押すとエラーメッセージが無限に表示され、VBE の参照にアクセスできなくなるためです。したがって、コードが実際に実行されているときに MISSING 参照が存在する可能性があります。

4

2 に答える 2

2

この問題は、Microsoft Office Object Library の異なるバージョンが原因である可能性が非常に高いです。

VBA コードをエクスポートして、xlsm ファイル内の VBA モジュールを削除してから、VBA コードをユーザーのコンピューターに再度挿入してみてください。通常、問題は解決されます。

この問題が発生する理由は、Excel が VBA のコンパイル済みコードを実際に保存するためですが、コンパイル済みコードやコンパイル済みパッケージは表示されません。他のユーザーがマクロ有効ファイルを開くと、Excel は読み取り可能なソース コードではなく、コンパイルされたマシン コードを自動的に実行します。マシンコードのライブラリごとにインターフェイスが異なるため(インターフェイスと呼ばれているのでしょうか?)、Excelはライブラリを見つけることができず、エラーが発生します。

したがって、XLSM ファイルを配布する前に、VBA コードの逆コンパイルを試みることもできます。このページにアクセスして、XLSM ファイルを逆コンパイルするためのツールをダウンロードしてください: VBA Decompiler

于 2016-08-31T05:48:35.763 に答える