Я использую Visual Basic .NET для создания надстройки Excel, которая предоставляет клиентский доступ к веб-службе.Visual Basic создает файл Reference.vb из wsdl веб-службы, и этот файл vb содержит интерфейс с различными классами, которые используются для доступа к веб-службе.
В этой надстройке я написал и поделился некоторымифункции через COM для VBA.Я хотел бы также поделиться классами в Reference.vb с VBA.Как таковые, классы в Reference.vb отображаются в обозревателе объектов VBA, но все они пусты.
Visual Basic не позволяет мне помещать
<Microsoft.VisualBasic.ComClass()> _
<System.Runtime.InteropServices.ComVisibleAttribute(True)> _
в Interface
заявление в Reference.vb.Кажется, что если я хочу, чтобы классы в Reference.vb отображали «неработоспособность» и могли использоваться в браузере объектов VBA, я должен добавить
'<Microsoft.VisualBasic.ComClass()> _
'<System.Runtime.InteropServices.ComVisibleAttribute(True)> _
к каждому из Partial Public Class
объектов в Reference.vb.Это довольно утомительно, так как есть много классов, особенно если учесть, что Reference.vb генерируется автоматически и заменяется каждый раз, когда я обновляю ссылку на сервис.Таким образом, мне пришлось бы постоянно пересматривать Reference.vb.
Есть ли какой-нибудь способ "массового представления" классов из Reference.vb в VBA, чтобы использовать веб-сервис непосредственно из VBA?
У меня Visual Studio 2010.
Спасибо!