1

実行時にRibbonMenuコントロールに、データベースからのデータを入力する必要があります。

http://msdn.microsoft.com/en-us/library/microsoft.office.tools.ribbon.ribbonmenu(v=vs.90).aspxでオフセットを取得します

コードで:

private void PopulateCustomerMenu()
{
    // Add two sub-menus to EmployeeMenu and populate each sub-menu
    // First sub-menu
    RibbonMenu subMenu1 = new RibbonMenu(); //new RibbonMenu(); is underlined red
    subMenu1.Dynamic = true;
    subMenu1.Label = "A - M";
    subMenu1.Items.Add(new RibbonToggleButton()); //new RibbonToggleButton() is as well
    ((RibbonToggleButton)subMenu1.Items.Last()).Label = "Hall, Don";
    subMenu1.Items.Add(new RibbonToggleButton()); //new RibbonToggleButton() is as well
    ((RibbonToggleButton)subMenu1.Items.Last()).Label = "Valdez, Rachel";
    CustomerMenu.Items.Add(subMenu1);

    // Second sub-menu
    RibbonMenu subMenu2 = new RibbonMenu(); //new RibbonMenu(); is as well
    subMenu2.Dynamic = true;
    subMenu2.Label = "N - Z";
    subMenu2.Items.Add(new RibbonToggleButton()); //new RibbonToggleButton() is as well
    ((RibbonToggleButton)subMenu2.Items.Last()).Label = "Robinson, Alex";
    CustomerMenu.Items.Add(subMenu2);
}

私が得る唯一のことは、「エラー1抽象クラスまたはインターフェイスのインスタンスを作成できません'Microsoft.Office.Tools.Ribbon.RibbonMenu' C:\ Users \ Christoffer \ Documents \ Visual Studio 2010 \ Projects \OutlookAddIn2\」というVisualStudioです。 OutlookAddIn2 \ Ribbon1.cs 80 35 OutlookAddIn2 "

私は過去15時間立ち往生しているので、私は何でも開いています....何かアイデアはありますか?

4

1 に答える 1

1

興味深いことに、異なる dll にある同じ名前のインターフェイスとクラスがあります。ここのドキュメントページを見ると、インターフェイスの場所に関する次の情報が表示されます。

名前空間: Microsoft.Office.Tools.Ribbon

アセンブリ: Microsoft.Office.Tools.Common (Microsoft.Office.Tools.Common.dll 内)

リンク先のページには次のものがあります。

名前空間: Microsoft.Office.Tools.Ribbon

アセンブリ: Microsoft.Office.Tools.Common.v9.0 (Microsoft.Office.Tools.Common.v9.0.dll 内)

リンク先は Visual Studio 2007 エディションのものです (したがって、リンクに v=vs90 があります。そのバージョンを使用しようとしている場合は、適切な dll (Microsoft.Office.Tools.Common.v9.0.dll) を確認してください。 ) は、新しい dll (Microsoft.Office.Tools.Common.dll) ではなく、プロジェクトによって参照されています。

新しい dll を使用する場合は、メニューまたはメニュー項目を作成するために、リボンを構築している場所に基づいて、 RibbonFactoryのインスタンスを取得する必要があります。たとえば、リボン メニューを Word に追加しようとしている場合は、 を呼び出しGlobals.Factory.GetRibbonFactory()、この呼び出しによって返されたファクトリを使用してリボンを作成します。

于 2011-07-04T12:15:06.430 に答える