• ベストアンサー

x64ネイティブコードのDLLはVBAから呼びだせない?DLLが見つからない?

VC+2005でx64ネイティブコードを出力し、DLLを作成したのですが C:\WindowsフォルダにそのDLLを入れて、いつもどおりVBAから呼びだそうとすると、該当するDLLがありません。と表示されます。 同じように置いているのに無いというメッセージが理解できないです。 x86(32bit)で生成したDLLなら問題なく動作するのですが・・・ 何か違いでもあるのでしょうか? Declareとかでは呼べないのでしょうか? ちなみにVBAはExcel2003です。 DLLでなくMFCアプリで完全ネィテイブ.EXEを作らないとx64の環境は生かせないのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • BLK314
  • ベストアンサー率55% (84/152)
回答No.1

x64環境では32ビット アプリ は32bit DLL 64ビット アプリは 64ビット DLLを使うことができますが、 上記以外はできません 64ビットアプリは32ビットDLLを呼べないし 32ビットアプリは64ビットDLLを使えません >DLLでなくMFCアプリで完全ネィテイブ.EXEを作らないとx64の環境は生かせな>いのでしょうか? 基本的にはそう言えると思います。 ただし、複数の32ビットアプリがそれぞれ4G(システム含むのでユーザー領域はもっと小さいですが)扱えるということはメリットかもしれません。 32ビット環境ではアプリ、システム全体で32ビットしか使えないわけですから.. (裏ワザのような方法もありますが...)

参考URL:
http://ja.wikipedia.org/wiki/WOW64