5

分割ボタンとギャラリーにアイテムを追加しようとしています。問題は工場にあります。次の OfficeRibbon コード ファイルでは、Factory は不明です。アドイン コード ファイルでも不明です。どこか参照がありません。Globals.Factory も試してみましたが、まだ不明です。

RibbonButton rc = this.Factory.CreateRibbonButton(); 

次の using ステートメントがあります。

using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Globalization;
using System.IO;
using System.Text.RegularExpressions;
using System.Threading;
using System.Windows.Forms;
using Microsoft.Office.Interop.Excel;
using Microsoft.Office.Tools.Ribbon;
//using Microsoft.Office.Tools.Excel.Extensions;

このコードは、私のプロジェクトで ReqCommon.cs に名前が変更された ThisAddin.cs でも失敗します。

私の最終目標は、これら 2 つのコントロールに項目を動的に追加することです。ここや他の場所で見つけた例はすべて、このとらえどころのないファクトリーに基づいているようです。

プロジェクトは Microsoft.Office.Tools.Common.v9.0.dll を参照します

4

1 に答える 1

5

リボン デザイナを使用している場合- このファクトリが自動的に作成されます ( ) - それ以外の場合は、 ( ReqCommon.cs )をオーバーライドして独自のファクトリGlobals.Factory.GetRibbonFactory()を作成する必要があります。CreateRibbonExtensibilityObject()ThisAddin.cs

protected override Microsoft.Office.Core.IRibbonExtensibility CreateRibbonExtensibilityObject()
{  
    Ribbon1 tempRibbon = new Ribbon1();
    tempRibbon.tab1.ControlId.ControlIdType = Microsoft.Office.Tools.Ribbon.RibbonControlIdType.Office;
    tempRibbon.tab1.ControlId.OfficeId = "TabHome";
    return Globals.Factory.GetRibbonFactory().CreateRibbonManager(new Microsoft.Office.Tools.Ribbon.IRibbonExtension[] { tempRibbon });   
}

リボン デザイナーは、その中で使用できるRibbon.RibbonBaseプロパティを含むものを継承します。RibbonBase.Factorythis.Factory

于 2012-08-17T13:03:57.420 に答える