Mik*_*lum 12
VSTO不是通常可以从其他DLL调用的DLL.VSTO基本上是暴露于COM的.NET代码,它在一个独立的AppDomain中运行的包装器中运行.虽然您的VSTO加载项在技术上是一个加载到Excel中的DLL,但它的操作更像是顶级EXE而不是暴露给其他调用者的DLL库.
就个人而言,我会创建一个标准的.NET程序集 - 也就是说,避免使用VSTO - 并使用正确的属性将其公开给COM.这个过程在这里得到了很好的解释:COM Interop Exposed - 第2部分,标题为"向.NET公开.NET事件"一节.
如果您真的坚持要求VBA能够调用VSTO,那么您必须Office.COMAddIn.Object通过覆盖该RequestComAddInAutomationService方法启用的属性进行操作.Andrew Whitechapel 在文章VSTO加载项,COMAddIns和RequestComAddInAutomationService中详细讨论了该过程.
我希望这有帮助!
麦克风
| 归档时间: |
|
| 查看次数: |
3963 次 |
| 最近记录: |