似乎无法在运行 Parallels 的 Mac 上打开 DLL for Excel
Posted
技术标签:
【中文标题】似乎无法在运行 Parallels 的 Mac 上打开 DLL for Excel【英文标题】:Can't seem to be able to open DLL for Excel on Mac running Parallels 【发布时间】:2015-01-26 21:34:41 【问题描述】:我的主要固定机器是运行 Win 8.1 64 位和 Office 2013 32 位的 Windows 机器。我在 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 时引用了此文件夹。我从 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 太过时了?
【问题讨论】:
你运行的宏是Mac OS还是Win OS? 在 Parallels 中运行的 Windows。 这可能有点晚了,但您是否考虑过在 Parallels 8 Windows 中注册 DLL?这是使用 regsvr32 完成的,请参阅 support.microsoft.com/kb/249873>。这会在注册表中添加一个条目,并消除声明行中对路径的需要。 VS2013 可能会在您的开发机器上完成此操作。 【参考方案1】:这是在黑暗中拍摄,但可能是您的 DLL 没有编译为静态库,因此在您的开发计算机上存在某些依赖项(因为安装了 Visual Studio),而这些依赖项不存在在测试计算机上/在并行环境中。
尝试在没有安装 Visual Studio 的相同 Windows 系统上的 Excel 上运行您的 DLL。如果还是不行,问题很可能就是上面提到的。
【讨论】:
以上是关于似乎无法在运行 Parallels 的 Mac 上打开 DLL for Excel的主要内容,如果未能解决你的问题,请参考以下文章
如何从 Mac 卸载 Parallels Desktop 9
MAC用parallels desktop6装win7出现问题无法加载parallels驱动器,物理网络适配器无法连接虚拟网络适配器
mac 用parallels desktop 安装 win7出现无法加载parallels 驱动和物理网络适配器连接虚拟网络适配器不存在
Parallels 将扩展桌面平台产品,以进一步改善在 Mac 上运行 Windows 的用户体验和工作效率