После долгих часов изучения раскрытия свойства C#, которое принимает ссылочный тип, в VBA, я пришел к выводу, что это невозможно. Вкратце, свойство C# типа double[] или даже объект нельзя использовать в 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
Или для получения более подробной информации: C# свойство, доступное для VBA (COM): ошибка времени выполнения «424»: требуется объект
Я хотел бы знать, поддерживает ли C++/CLI такую возможность? т. е. разрешить доступ к свойству ссылочного типа для VBA, чтобы синтаксис, подобный приведенному выше, был допустимым.
Н.Б. Вы можете добиться этого, используя позднее связывание, но потеря IntelliSense не вариант.