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

时间:2009-05-05 15:11:17

标签: excel vba dll 64-bit 32-bit

我发现我无法使用我的Office 2007版本加载任何32位DLL。我使用的是Vista 64bit,我认为Office也处于64位模式。是否可以在32位模式下启动Excel 要么 有没有办法使用VB声明DLL来加载32位DLL?

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

我得到的错误是“找不到DLL”,即使DLL实际上存在。

以下是样本声明。此语句是否有32位属性?

私有声明函数ESQMain Lib“ESQuotes2.dll”别名“_ESQMain @ 12”_   (ByVal func As Long,ByVal ticker_symbol As String,ByVal Result As String)As Integer

2 个答案:

答案 0 :(得分:2)

你有一个错误的假设 - Office目前在64位中不可用。据传,下一版办公室(Office 2010)随附32& 64位。

答案 1 :(得分:0)

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

因此,您唯一的选择是启动32位Excel二进制文件。显然,它必须存在,因为Office仍可用于Vista 32,但问题是它是否已安装以及在何处安装。