使用Excel 2007加载32位DLL(Vista 64位版本)

我发现我无法使用我的Office 2007版本加载任何32位DLL。我使用的是Vista 64位,我假设Office也是64位模式。 是否有可能以32位模式启动Excel还是有没有办法使用VB来声明一个DLL来加载一个32位的DLL?

由于我没有使用某些DLL的源代码,我不能简单地重新编译64位模式的东西。 所以我认为我的select是强制Excel以32位模式运行,或者声明我用作32位DLL的DLL,即使我的环境是64位。

我得到的错误是“DLL未find”,即使该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

你有一个不好的假设 – Office目前不在64位。 据传,Office(Office 2010)的下一个版本将随附32位和64位。

你不能“声明”一个DLL是32位的。 它可以是Win32二进制文件或Win64二进制文件。 第一种二进制可以在Win32进程中加载​​,第二种在Win64进程中加载​​。 你不能混合他们。 Visual Basic导入属性没有帮助。

所以,你唯一的select是启动32位Excel二进制文件。 它显然已经存在,因为Office仍然可用于Vista 32,但问题是它是否安装在哪里以及在哪里。