1

C# で Outlook の連絡先にリボン/タブを追加しようとしています。リボンを追加し、その xml に次のコードを記述しました。

<tab idMso="TabAddIns" label="mySoftwareTab">
    <group id="ContentGroup" label="Appointments">
      <button id="GetAppointment" label="Get Appointments" screentip="Appointment" imageMso="ViewAppointmentInCalendar" onAction="GetAppointmentPressed" size="large"
              supertip="Get all appointments."/>
    </group>
  </tab>

これにより、メイン領域を含むすべての画面にタブが作成されます (画像は mySoftwareTab の場所 A & B を示しています)

ここに画像の説明を入力 しかし、idMso を TabContact に変更すると、連絡先 (画像の C の場所) にボタンのみが作成されます。

Outlook の連絡先ページのみにタブを作成したい (画像の B の場所)。これどうやってするの?

4

1 に答える 1

1

getVisible コールバック メソッドを追加し、表示するインスペクター ウィンドウに基づいてメソッドをゲートします。

<tab idMso="TabAddIns" label="mySoftwareTab"
     getVisible="myTab_GetVisible">

次に、mySoftwareTab_GetVisible というコールバック デリゲート メソッドを作成します。

更新元のポスター(Kash)によって提供された最終的な解決策であるため、彼の功績が認められます。...質問と回答を見ている他の人のためにこれを再投稿します。

    public bool myTab_GetVisible(Office.IRibbonControl control) 
    { 
        if (control.Context is Outlook.Inspector) 
        { 
            Outlook.Inspector oInsp = control.Context as Outlook.Inspector; 
            if (oInsp.CurrentItem is Outlook.ContactItem) 
            { 
                return true; 
            } 
            else 
            { 
                return false; 
            } 
        } 
        else 
        { 
            return false; 
        } 
    }
于 2013-01-17T15:35:14.053 に答える