代码之家  ›  专栏  ›  技术社区  ›  Jerry

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

  •  1
  • Jerry  · 技术社区  · 17 年前

    我发现使用我的Office 2007版本无法加载任何32位dll。我使用Vista 64位,我假设Office也处于64位模式。可以在32位模式下启动Excel吗 或者 有没有办法用VB来声明一个DLL来加载一个32位的DLL?

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

    我得到的错误是“找不到DLL”,尽管DLL实际上就在那里。

    下面是一个示例声明。这个语句有32位属性吗?

    私有声明函数ESQMain Lib“ESQuotes2.dll”Alias“_ESQMain@12”_ (ByVal func As Long,ByVal ticker_symbol As String,ByVal Result As String)作为整数

    2 回复  |  直到 17 年前
        1
  •  2
  •   JonnyBoats    17 年前

    你的假设是错误的- Office 在64位中当前不可用。下一版本的office(office 2010)据传将附带32&64位。

        2
  •  0
  •   MSalters    17 年前

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

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