似乎无法在运行Parallels的Mac上打开Excel的DLL文件

5
我的主力台式机是一台Windows电脑,运行Win 8.1 64位和Office 2013 32位。我用VS2013开发了一个有函数的32位DLL,通过Excel VBA进行调用,在Windows系统上可以正常运行。
然后我有一台Macbook Pro笔记本电脑,在Parallels 8下运行Windows 8.1 64位和Office 2010 32位。但在这台Mac电脑上好像无法使用我DLL中的函数。
我尝试过:
- 将DLL文件复制到Parallels下的新文件夹C:\MyTools中。 - 在VBA中引用该文件夹,加载DLL。我的VBA代码加载DLL中的函数,看起来像这样: Declare Function MyDLLfunction Lib "C:\MyTools\MyDLL.dll" (ByVal s As Double) As Double - 我也尝试了双斜杠\\,但没有成功。
在Parallels上使用工作表中的此函数时,会在单元格中显示错误代码(#VALUE)。
Excel 2010总体上不兼容DLLs吗(我不相信),还是在Mac上引用DLL路径存在问题?我认为"C:\MyTools\MyDLL.dll"应该可行,因为我在Parallels中的Windows资源管理器树中看到了该文件。或者我的Parallels 8版本太旧了?

你是在Mac OS还是Win OS上运行宏? - Chrismas007
Parallels 中运行的 Windows。 - Steve06
这可能有点晚了,但你是否考虑在 Parallels 8 Windows 中注册 DLL?可以使用 regsvr32 完成此操作,请参见 http://support.microsoft.com/kb/249873/。这将在注册表中放置一个条目,并消除声明行中路径的需要。这可能是由 VS2013 在您的开发机器上完成的。 - ChipsLetten
1个回答

0
这可能只是猜测,但你的DLL可能没有编译为静态库,因此存在于开发计算机上的某些依赖关系(由于Visual Studio安装)在测试计算机/Parallels环境中不存在。
尝试在没有安装Visual Studio的完全相同的Windows系统上运行你的DLL。如果它无法工作,那么问题很可能就像上面所提到的那样。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接