Search code examples
c#ribbonoutlook-addinoutlook-2010

Outlook 2010 AddIn in the TabAppointment Tab


I tried to add my Outlook 2010 Add-In to the TabAppointment Tab. It perfectly works when I add it to the TabCalendar, but if you click on a appointment in the calendar another tab will be shown and this tab I guess is the TabAppointment. And of course my Add-In should be there. The user should not have to change the tab first to use it.

enter image description here The list of OfficeId for the controls/tabs. List can be downloaded here.

enter image description here The tab the Add-In finally should be placed

My Add-In should be visible every time a calendar item is selected. So as I wrote, the TabCalendar work, but then it's placed in the Start Tab.

Anyone an idea why my button group is not visible there when I choose TabAppointment? Is it the wrong tab? Or is it just not possible to add Add-Ins at this place?


Solution

  • You are indeed using the wrong Tab, or more precisely, you're not using the correct ContextualTab

    Adding an addin to a contextualTab is not possible as far as I know.

    What I can suggest you is converting your current ribbon (designer) into a Ribbon UI xml, wire the XML and the Ribbon class correctly to your existing code.

    <customUI onLoad="Ribbon_Load" xmlns="http://schemas.microsoft.com/office/2006/01/customui">
        <ribbon>
            <contextualTabs>
              <tabSet idMso="TabSetAppointment">
                <tab idMso="TabAppointment">
                  <group id="group1" label="Normal Meeting Group" />
                </tab>
              </tabSet>
              <tabSet idMso="TabSetReccurringAppointment">
                <tab idMso="TabRecurringAppointment">
                  <group id="group2" label="Recurring Meeting Group" />
                </tab>
              </tabSet>
            </contextualTabs>
        </ribbon>
    </customUI>
    

    This will make your group/controls appear in the wanted (contextual)Tab. enter image description here

    PS : don't forget to enable the Ribbon XML item by overiding the CreateRibbonExtensibilityObject() method, and create the callbacks (aka event handler from your designer)

    Hope that helped:)