次の方法で共有


Window2.CommandBars プロパティ

WindowObject オブジェクトに関連付けられている Microsoft Office CommandBars コレクションへの参照を取得します。

名前空間: Microsoft.Office.Interop.InfoPath
アセンブリ: Microsoft.Office.Interop.InfoPath (microsoft.office.interop.infopath.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 コレクションは "アクセスが拒否された" というエラーを返します。

メモメモ :

次の例では、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 名前空間