我发现我无法使用我的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
答案 0 :(得分:2)
你有一个错误的假设 - Office目前在64位中不可用。据传,下一版办公室(Office 2010)随附32& 64位。
答案 1 :(得分:0)
您不能“声明”DLL为32位。它是Win32二进制文件或Win64二进制文件。第一种二进制文件可以在Win32进程中加载,第二种在Win64进程中加载。你不能混合它们。 Visual Basic导入的属性没有帮助。
因此,您唯一的选择是启动32位Excel二进制文件。显然,它必须存在,因为Office仍可用于Vista 32,但问题是它是否已安装以及在何处安装。