8

これはVS2010+Office2010アドインです。必要なのは、複数の組み込みタブにボタン(またはボタングループ)を追加することだけです。たとえば、私のボタンは、新しいメールメッセージリボン新しい予定リボンの両方で使用できる必要があります。( Visual Designerで)新しいタブを追加しようとしましたが、機能しないようです。ボタングループは[新着メールメッセージ]タブに表示されますが、[予定]タブには表示されません。ところで、私は次のIDを使用しています:TabNewMailMessageTabAppointment

4

4 に答える 4

7

これについて頭を悩ませている人にとって、[予定]タブと[新着メールメッセージ]タブの両方で自分のグループを表示できる唯一の方法は、組み込みのタブごとに1つのリボンを追加し、すべてのUIとコードをコピーして貼り付けることでした。あるリボンから別のリボンへ。組み込みタブごとに適切なRibbonType(リボンのプロパティ)を選択してください。

于 2012-09-25T11:15:07.437 に答える
4

指定された回答は廃止されました!

  1. OfficeRibbonオブジェクトで、必要な数の場合にRibbonTypeを設定します(例:Microsoft.Outlook.ExplorerおよびMicrosoft.Outlook.Mail.Read)。
  2. 最初のタブを追加し、ControlId.OfficeIdを設定します(例:TabMail)
  3. 別のタブを追加し、ControlId.OfficeIdを設定します(例:TabReadMessage)
  4. 各タブでグループとボタンを追加し、同じOnClickメソッドを指すようにButton.Clickイベントを設定します
于 2020-02-14T13:49:38.770 に答える
0

私はOutlookを持っていませんが、Word / Excel / PPTで次のものを使用しているので、Outlookでも機能することを期待しています(テストされていません!)。

リボン(XML)アイテムを追加してから、同じように見え、同じコードを呼び出すがIDが異なるボタンで2つのタブを追加してみてください。

XML:

<tab idMso="TabNewMailMessage">
    <group id="MyGroup1" label="My Group1">
        <button id="myButton1" label="Button 1" size="large"  onAction="ButtonOnAction" />
    </group>
</tab>
<tab idMso="TabAppointment">
    <group id="MyGroup2" label="My Group2">
        <button id="myButton2" label="Button 2" size="large"  onAction="ButtonOnAction" />
    </group>
</tab>

C#:

    public void ButtonOnAction(IRibbonControl control)
    {
        switch (control.Id)
        {
            case "myButton1":
            case "myButton2":
                // do something
                Console.Out.WriteLine("Button ID: {0}", control.Id);
                break;
        }
    }
于 2012-09-25T10:53:56.813 に答える
0

上記の回答と同様ですが、XMLを使用せずに、2つの異なる場所にグループを配置して2番目のタブを追加できます。

リボンデザイナで、リボンに2番目のタブを追加し、ControlIDをグループを表示する2番目の場所に変更します。次に、元のタブでグループを右クリックし、[コピー]をクリックします。新しいタブに戻ってクリックし、そこにグループを貼り付けます。すでにグループにあるものをすべてコピーします。ただし、イベントを再度追加する必要があります。しかし、私にとっては、すでに作成されたイベントを再利用しただけで、完全に機能します。乾杯。

于 2013-05-14T16:42:14.977 に答える