我检查了Can't access array of objects returned from .net code in VBA给出的答案 这是行不通的。我有一个在C#中定义的数组,它是几个深层对象。我有所有标有COMVisible的对象。出于某种原因,我似乎无法让VBA访问我的阵列。
以下是我认为遵循上一篇文章中的建议的VBA代码:
Set VBAObj = VBAProj.VBA
Dim cm2() As CodeModule
cm2 = VBAObj.ModulesArray
Dim f As CodeModule
Set f = cm2(0)
MsgBox f.Text
无论我尝试什么,我都会遇到类型不匹配或其他错误。我希望我能简单地写一下
MsgBox VBAProj.VBA.ModulesArray(0).Text
ModulesArray看起来像这样:
public CodeModule[] ModulesArray{get {return Modules.ToArray();}}