3

XLL (Excel アドイン) を作成する C++ コードがあります。Excel で正常にロードでき、完全に機能します。

その後、64 ビット Excel に切り替えたところ、コードが機能しなくなりました。そのため、x64 プラットフォーム設定を使用して、Visual Studio でコードを再コンパイルしました。コンパイルにエラーはありませんでした。

これを 64 ビット Excel に読み込もうとすると、Excel はファイル拡張子を認識しません。

ここに画像の説明を入力

「'MyAddin.xll' のファイル形式と拡張子が一致しません。」というエラーが表示され、続行するための次のオプションが表示されます: yesno、またはcancel.

メッセージを無視して を押すyesと、アドインがクラッシュし、次のエラーが表示されます。

このプログラムは DOS モードでは実行できません。

アドインは正しくコンパイルされるため、このエラーのトラブルシューティング方法がわかりません。私の質問は次のとおりです。この問題を解決する方法について誰か教えてください。

私の要件は次のとおりです。

  1. 64 ビット Excel は、XLL を有効なアドインとして認識しなければなりません (最初のエラー メッセージが消える必要があります)。

  2. 2番目のエラーはどういう意味ですか?

4

3 に答える 3

1

通常、このメッセージは、実行時リンカーが dll を見つけられないことを意味します。sysinternals の depends.exe (64 ビット) を使用して、どれを見つけますか。xlcall32.dll および ieshims.dll の警告は無視できます。

于 2012-10-09T22:52:22.700 に答える