据我所知,我无法在64位进程中加载32位dll。我有一个32位DLL(VB6组件),没有源代码,加载到Excel自动化宏。我有什么选择?
答案 0 :(得分:4)
64位上的32位加载项为not supported。 Microsoft recommends使用32位版本的Office,除非您遇到32位进程的内存限制,如果您需要处理非常大的电子表格,这种情况很可能会发生:
要安装的Office 2010版本的建议如下:
如果组织中的用户依赖于Office的现有扩展,例如ActiveX控件,第三方加载项,基于以前版本的Office构建的内部解决方案,或者接口的32位版本的程序直接使用Office,我们建议您在运行32位和64位支持的Windows操作系统的计算机上安装32位Office 2010(默认安装)。
如果您单位中的某些用户是使用大于2千兆字节(GB)的Excel电子表格的Excel专家用户,他们可以安装64位版本的Office 2010.此外,如果您有我们建议这些开发人员可以访问64位版本的Office 2010,以便他们可以在64位版本的Office 2010上测试和更新您的内部解决方案。
如果由于内存限制需要使用64位版本the following options:
如果您有源代码,可以自己生成64位版本,
您可以与供应商联系以获取更新版本
您可以搜索替代解决方案。
实际上有一个第四个选项,Microsoft在本文中没有提到:您可以创建一个32位进程外COM服务器,它充当64位宏和传统32位之间的代理COM组件或创建COM +应用程序。这里提供了一个示例: