0

現在、Excel アドインの 2 つのバージョンがあります。リリース バージョンと現在の WIP バージョンです。

両方を Excel に読み込んで、リリースされたコードを実行しようとすると、代わりに私の WIP コードが呼び出されますが、これはテストには適していません。VBE でコードを開くと、意図したとおりにサブルーチンを実行できます。

他のプロジェクトのコードを呼び出すプロジェクトに関する情報を探しましたが、見つけたのはこれを行う方法だけであり、なぜそれが起こるか/どのように停止するかではありませんでした。両方のプロジェクトがまったく同じサブルーチン名と関数名を持っていることが原因である可能性がありますが、確かに現在のプロジェクトのものを優先する必要がありますか?

現在のところ、これは単なる煩わしさですが、テスト時に混乱を招きます。誰にもアイデアはありますか?

4

3 に答える 3

0

#NAME!Excel はコードが指している場所を記憶しているため、参照がチェックされていなくても機能し続けます。また、アドインの名前を変更すると、現在のバージョンを使用する代わりに関数が返されることにも気付くでしょう。

Excel にコードの取得元を強制的に再評価させる簡単な方法は、検索と置換を行い==. これは同じ式になりますが、現在アクセス可能なバージョンが見つかるように Excel にそのリンクを強制的に更新させます

( PRB から推定: Automation Add-In Function Binds to Excel Built-In Function with the Same Name )

于 2013-07-24T13:37:04.993 に答える
0

VB オブジェクト ブラウザで、[参照] に移動し、不要なコードへの参照のチェックを外します。

于 2013-07-24T09:47:38.673 に答える
0

各サブルーチンのモジュール名を指定することで、この動作を停止することができました。どうやら、これは .OnAction の既知のバグであり、最近ロードされたワークブック (およびモジュールを想定) から呼び出すためです。助けてくれてありがとう、バグがどこにあるのかわからなかったようです!

于 2013-07-25T08:19:33.170 に答える