2

Office 2007 のバージョンを使用して 32 ビット DLL をロードできないことがわかりました。Vista 64 ビットを使用しており、Office も 64 ビット モードであると想定しています。Excel を 32 ビット モードで起動することはできますか? または、VB を使用して DLL を宣言して 32 ビット DLL をロードする方法はありますか?

私が使用しているいくつかの DLL のソース コードを持っていないので、単純に 64 ビット モード用に再コンパイルすることはできません。したがって、私のオプションは、Excel を強制的に 32 ビット モードで実行するか、環境が 64 ビットであっても、使用している DLL を 32 ビット DLL として宣言することだと思います。

実際には DLL が存在するにもかかわらず、「DLL が見つかりません」というエラーが表示されます。

以下は宣言の例です。このステートメントに 32 ビット属性はありますか?

Private Declare Function ESQMain Lib "ESQuotes2.dll" Alias "_ESQMain@12" _ (ByVal func As Long, ByVal ticker_symbol As String, ByVal Result As String) As Integer

4

2 に答える 2

2

Officeは現在 64 ビットでは利用できませんOffice の次のバージョン (Office 2010) は、32 ビットと 64 ビットで出荷されると噂されています。

于 2009-05-05T15:20:01.740 に答える
0

DLL を 32 ビットとして「宣言」することはできません。Win32 バイナリまたは Win64 バイナリのいずれかです。最初の種類のバイナリは Win32 プロセスでロードでき、2 番目の種類は Win64 プロセスでロードできます。それらを混在させることはできません。Visual Basic インポートの属性は役に立ちません。

したがって、唯一のオプションは、32 ビットの Excel バイナリを開始することです。Office は Vista 32 でもまだ利用できるので、明らかに存在しなければなりませんが、問題は、Office がインストールされているかどうかと、どこにインストールされているかです。

于 2009-05-05T15:17:26.643 に答える