2009-05-05 16 views
0

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

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

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

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

プライベート宣言機能ESQMainのLib "ESQuotes2.dll" エイリアス "_ESQMain 12 @" _ (ロングとしてByVal FUNC、ByValのTICKER_SYMBOL文字列、文字列としてByVal結果として)整数として

+0

この質問は悪いです。私はオフィスの64ビットバージョンがないことを発見したので、私の本当の問題はExcelが単にロードされない、または私がそれを置く場所に関係なく私のDLLを見つけることができないということです。 –

+0

答えは、Excel 2007がDLLの別の場所を探していることが判明しました。私はsysinternalsプロセスモニタをダウンロードすることでこれを発見し、ワークブックと同じフォルダ内では見えず、windows \ system32でも検索しないことに気づいた。 –

答えて

0

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

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

+0

64ビットExcelはありません。彼は32ビットExcelを実行しています。 – JonnyBoats

+0

あなたは正しいです。私の間違い。私の質問が間違っているので、Excelの32ビット版はありません。私は32ビット対64ビットのDLLの問題について話している記事を読んで、これは私の問題だったように聞こえた。 –

2

あなたは悪い仮定を持っています - Officeは現在64ビットで利用できません。オフィスの次のバージョン(Office 2010)は、32ビットの出荷になると噂されています。32 & 64ビット。

関連する問題