2010-08-08 2 views
6

У меня есть класс, написанный на VB.Net, который открыт для COM через ComClass & ComVisible. Затем класс становится доступным для VBA через TLB. В VB6 вы можете легко отметить элемент, скрытый в браузере объектов, но все еще доступный с галочкой. В VB.Net единственный способ, которым я нашел, чтобы скрыть объект-браузер VBA, - это префикс имени с подчеркиванием.Скрыть пользователя без использования поддерева

Есть ли способ скрыть элемент без подчеркивания его?

ответ

0

Единственный способ, о котором я могу думать, это вручную отредактировать typelib, созданный Tlbexp/Regasm (используя такие инструменты, как Oleview и Midl), и добавить к этому методу атрибут [hidden] IDL.

1

Вы можете взглянуть на BrowsableAttribute в пространстве имен System.ComponentModel. Обычно это скрывает свойство или метод от intellisense, но может также работать для COM.

Я не использую COM самостоятельно, поэтому не могу проверить его.

http://msdn.microsoft.com/en-us/library/system.componentmodel.browsableattribute.aspx

+0

+1, потому что это кажется, что это стоит попробовать. Я точно не знаю, что это сработает. – CoderDennis

Смежные вопросы