none
Excel2007と64bit DLL RRS feed

  • 質問

  • いつもお世話になっています。

    32bit版XPでExcel2007とVC++で作成した32bit版のDLLを組み合わせて使っています。

    最近は64bit版のWindows7や8が増えてきて、せっかく4Gを越えたメモリが実装されたPCが手軽に入手できるのだから、上記アプリケーションを64bitにできなかと考えました。

    64bit OS上のExcel 2007にVC++で作成した64bit版のDLLを読み込ませようとしたのですが、DLLが見つからないというエラーが出ます。32bit版なら問題なく動きます。

    Excel2007は32bit版ですから、やはり32bit版のDLLじゃないと動かないという認識でよろしいのでしょうか?

    VC++の話題とは多少違う気もしますが、ご存じでしたらお教えください。

    2013年3月7日 7:11

回答

  • OSが64bitOSの場合、64bitアプリと32ビットアプリの両方が実行できます。

    ですが、64bitOSだから、32bitアプリでも64bitのDLLを使うということはなく、32bitのアプリなら、OSが64bitでも32bitでもどちらの場合でも、32bitのDLLを必要とします。

    もちろん、64bitOS上で、64bitアプリを実行するのであれば、64bitDLLが必要です。


    わんくま同盟,Microsoft MVP for Visual C++(Oct 2005-) http://blogs.wankuma.com/tocchann/

    • 回答の候補に設定 佐伯玲 2013年3月8日 2:09
    • 回答としてマーク 黒猫工房 2013年3月8日 4:32
    2013年3月7日 9:48

すべての返信

  • OSが64bitOSの場合、64bitアプリと32ビットアプリの両方が実行できます。

    ですが、64bitOSだから、32bitアプリでも64bitのDLLを使うということはなく、32bitのアプリなら、OSが64bitでも32bitでもどちらの場合でも、32bitのDLLを必要とします。

    もちろん、64bitOS上で、64bitアプリを実行するのであれば、64bitDLLが必要です。


    わんくま同盟,Microsoft MVP for Visual C++(Oct 2005-) http://blogs.wankuma.com/tocchann/

    • 回答の候補に設定 佐伯玲 2013年3月8日 2:09
    • 回答としてマーク 黒猫工房 2013年3月8日 4:32
    2013年3月7日 9:48
  • とっちゃんさん、お返事ありがとうございます。

    ということは、Excel 2007(32bitアプリ)の場合、32bitのDLLしか呼び出せないという認識でOKですね。

    64bitOSのもつ広大なメモリ空間の恩恵を享受しようとするなら、Excel2010を買って(次が出てましたね…)、

    64bit版をインストールして、64bitのDLLを呼び出すということでやってみます。

    どうもありがとうございました!今後ともよろしくお願いします。

    2013年3月8日 4:32
  • ちなみにOffice 2010や2013では64bit版が提供されていますが、既定では32bit版がインストールされますし、そちらが推奨されているようです。

    64bitメモリ空間を扱いたいのかもしれませんが、現状では、必要がない限り32bitをお勧めします。

    2013年3月8日 7:54
  • 佐祐理さん、お返事ありがとうございます。

    アドインについては、全く考慮していませんでした。安易に64bit版を導入ができないことがよくわかりました。

    今後ともよろしくお願いします。
    2013年3月11日 2:07