从Excel 2016 for mac调用自定义共享库

我收集到沙箱已经添加到OSX上的Excel 2016加载项。 这打破了来自共享库的头文件中的加载项。 如在,如:

Option Explicit #If Mac Then Private Declare Function PropsSI_private Lib "libCoolProp.dylib" Alias "PropsSI" (ByVal Output As String, ByVal Name1 As String, ByVal Value1 As Double, ByVal Name2 As String, ByVal Value2 As Double, ByVal Ref As String) As Double ... 

因为在加载加载时,我们不能在共享库试图加载之前调用任何函数。

以前我们只需要确保正确的共享库位于〜/ lib中,但不再有效。 我们如何修改我们的加载项以允许我们调用共享库?

所以事实certificate,答案是你需要把共享库放在/Users/${USER}/Library/Group Containers/UBF8T346G9.Office ,并确保这个文件夹被添加到系统path中。 一种方法是将这些内容保存为文件~/Library/LaunchAgents/my.startup.plist (显然用合适的用户名replaceihb

 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>my.startup</string> <key>ProgramArguments</key> <array> <string>sh</string> <string>-c</string> <string>launchctl setenv DYLD_LIBRARY_PATH "/Users/ihb/Library/Group Containers/UBF8T346G9.Office"</string> </array> <key>RunAtLoad</key> <true/> </dict> </plist>