在对将接受引用类型的 C# 属性公开给 VBA 进行长时间的调查后,我得出结论认为这是不可能的。简而言之,double[] 类型的 C# 属性甚至是对象都不能像这样在 VBA 中使用:
' Compile Error: Function or interface marked as restricted,
' or the function uses an Automation type not supported in Visual Basic
oComExposedEarlyBinding.ObjectArray = VBArray
' Run-time error 424: Object required
oComExposedEarlyBinding.PlainObject = VBArray
或了解更多详细信息: 暴露给 VBA (COM) 的 C# 属性:运行时错误“424”:需要对象
我想知道 C++/CLI 是否支持这样的选项?即允许将引用类型的属性暴露给VBA,这样像上面这样的语法是有效的。
注意您可以通过使用后期绑定来实现这一点,但不能选择失去智能感知。