Поделиться через


Свойство Window2.CommandBars

Возвращает ссылку на коллекцию Microsoft Office CommandBars, содержащуюся в окне, которое связано с объектом WindowObject.

Это свойство несовместимо с CLS.  

Пространство имен: Microsoft.Office.Interop.InfoPath.SemiTrust
Сборка: Microsoft.Office.Interop.InfoPath.SemiTrust (в microsoft.office.interop.infopath.semitrust.dll)

Синтаксис

'Декларация
<DispIdAttribute(1)> _
ReadOnly Property CommandBars As Object
'Применение
Dim instance As Window2
Dim value As Object

value = instance.CommandBars
[DispIdAttribute(1)] 
Object CommandBars { get; }

Заметки

Коллекцию CommandBars может использоваться только полностью доверенными формами. Если же она используется не полностью доверенной формой, коллекция CommandBars возвратит ошибку "в разрешении отказано".

ЗаметкаВнимание!

Доступ к этому члену имеется только у форм, открытых из шаблона формы, настроенного в разделе "Безопасность и доверие" диалогового окна "Параметры формы" на работу с полным доверием. Этот член требует для текущего вызова полного доверия и не может быть использован программой с частичным доверием. Дополнительные сведения см. в статье "Использование библиотек из программ с частичным доверием" на MSDN.

Пример

ЗаметкаЗаметка

В следующем примере требуется ссылка на пространство имен System.Reflection.

BindingFlags flags = BindingFlags.GetProperty | BindingFlags.DeclaredOnly | BindingFlags.Public | BindingFlags.Instance;

// The CommandBars collection returns only one of the objects 
// that implements an IDispatch interface.
// To perform checks and allow COM-like calls,
// you must create a wrapper by casting to the ObjectWrapper class.
ObjectWrapper commandBars = (ObjectWrapper)thisApplication.ActiveWindow.CommandBars;

int commandBarsCount = (int)commandBars.InvokeByName(
           "Count",    // prop
           flags,
           null,      // arguments
           null);     // Culture

thisXDocument.UI.Alert("There are " + commandBarsCount.ToString() + " Command Bars");

// Either of the following two lines will work
object[] args =  new object[] {1};  
// object[] args =  new object[] {"Standard"};

// This object is outside the wrapper - this gets a .NET object

object commandBarItem = commandBars.InvokeByName(
           "Item",         
           flags,
           args,      // arguments
           null);     // Culture

thisXDocument.UI.Alert("Got the 'Standard' command bar");

string commandBarName = (string)commandBarItem.GetType().InvokeMember(
           "name",
           flags,
           null, 
           commandBarItem, 
           null);

thisXDocument.UI.Alert(commandBarName);

См. также

Ссылка

Интерфейс Window2
Члены Window2
Пространство имен Microsoft.Office.Interop.InfoPath.SemiTrust