我的主要固定机器是运行Win 8.1 64位和Office 2013 32位的Windows机器 . 我开发了一个带有VS2013功能的32位DLL,我通过Excel VBA包含它 . 功能在Windows上运行良好 .
然后我在Parallels 8下运行Windows 8.1 64位和Office 32 32位Macbook Pro . 我似乎无法使用此Mac下的DLL中的函数 .
我怎么试过:
-
将我的DLL文件复制到Parallels下的新文件夹
C:\MyTools
. -
在VBA中加载DLL时引用此文件夹 . 从DLL加载函数的我的VBA代码如下所示
Declare Function MyDLLfunction Lib "C:\MyTools\MyDLL.dll" (ByVal s As Double) As Double
- 我也试过双斜线\无济于事
从我在Parallels上的工作表中使用此功能时出现的不良结果是单元格中显示错误代码(#VALUE) .
是不是Excel 2010一般不兼容DLL(不能相信),或者是在Mac上正确引用DLL的路径?我认为 C:\MyTools\MyDLL.dll
会起作用,因为这是我在Parallels的Windows资源管理器树中看到的文件 . 或者我的Parallels 8太过时了?
1 回答
这是一个黑暗的镜头,但可能是你的DLL没有编译为静态库,因此你的开发计算机上存在某些依赖项(因为Visual Studio安装),测试中没有计算机/在平行环境中 .
尝试在没有安装Visual Studio的相同Windows系统上在Excel上运行DLL . 如果它不起作用,问题很可能如上所述 .