我有一组32位Excel宏,它引用了32位Fortran DLL(专有DLL用于从化学过程模拟器中提取结果,Aspen Plus) . 通过正确的路径和参考更新,该项目在Excel 2013(Win8)中运行良好 . 但是,在使用Excel 2010的旧机器(Win7)上,我得到了;

编译错误

必须更新此项目中的代码才能在64位系统上使用 . 请查看并更新Declare语句,然后使用PtrSafe属性标记它们 .

我一直查阅并理解如何更新声明并通过检查VBA版本来合并PtrSafe,但我担心这不适用于32位的DLL . 我无法重新编译DLL,因为它需要与进程模拟器(Intel Visual Fortran 9)相同的编译器,我没有任何访问权限 .

我的问题是双重的;

1)更新VBA声明是否可能破坏与DLL的连接?

2)这个问题是否有任何特殊原因只出现在一台机器而不是另一台机器上?赢得7 / Excel 2010与Win 8 / Excel 2013,均为64位

我完全能够在它工作的机器上做我需要的一切,但是为了分发给我的研究小组(从而分配工作量),我想消除这个错误 .