Having trouble with contextual tabs

Add-in Express™ Support Service
That's what is more important than anything else

Having trouble with contextual tabs
 
Inspirometer Developer




Posts: 34
Joined: 2017-10-13
Good afternoon!

I'm currently in the process of copying a tab group from `TabMail` to `TabAppointment` but for the life of me I can't get it working. Every time I attempt to open an appointment inspector I'm given the error:

Error found in Custom UI XML of "InspirometerMeetingsToolADX":

Line: 4
Column: 40
Error Code: 0x8004005
Failed to find Office control by ID
ID: TabSetAppointment

As far as I can tell I'm doing everything right but clearly that's not the case. My `ADXRibbonTab` has the following relevant properties:

  • Context: Outlook.TabSetAppointment
  • IdMso: TabAppointment
  • Ribbons: OutlookAppointment;OutlookExplorer

When compiled and run `AddinModule_OnRibbonBeforeLoad()` outputs this XML when opening/creating a meeting (removed get attributes for the sake of brevity):

<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui" onLoad="ribbonLoaded_Callback" loadImage="getImages_Callback">
  <ribbon>
    <contextualTabs>
      <tabSet idMso="TabSetAppointment">
        <tab idMso="TabAppointment">
          <group id="adxRibbonGroup_c761ff12da24481fabe99a55ad5c4d8b" insertAfterMso="GroupAppointmentActions">
            <menu id="adxRibbonMenu_3183abd1b18e65a1af86cd0e61c5e76e" itemSize="large">
              <button id="adxRibbonButton_beb1291dc449c838499ee4f2dd6b5966" onAction="onActionCommon_Callback" />
              <button id="adxRibbonButton_a49b24e087f16e26b7f794cc118f17d4" onAction="onActionCommon_Callback" />
              <button id="adxRibbonButton_db0b61d4dda8cb7dfdb0107e19c4593b" onAction="onActionCommon_Callback" />
            </menu>
            <button id="adxRibbonButton_d5400a4a0ddb47308c851777f476f19b" onAction="onActionCommon_Callback" />
          </group>
        </tab>
      </tabSet>
    </contextualTabs>
  </ribbon>
</customUI>

Having compared this to the XML of another add-in that also places a button after `GroupAppointmentActions` (and works!) I see no real difference besides the objects inside the tabs.

I've run the code in Outlook 2019 and Outlook 2016 and both produce the same error. I'm using a slightly modified (https://www.add-in-express.com/forum/read.php?PAGEN_1=1&FID=5&TID=14954) version 8.9.4453 of ADX.
Posted 26 Apr, 2019 07:14:38 Top
Andrei Smolin


Add-in Express team


Posts: 18794
Joined: 2006-05-11
Hello,

Inspirometer Developer writes:
Every time I attempt to open an appointment inspector I'm given the error


I suggest that you call Clipboard.SetText(e.Xml) in the code of the OnRibbonBeforeLoad event of the add-in module (this call may produce sporadic exceptions; restart Outlook and ignore them in other respects). Then paste the XML to a text editor and study the 4th line. The issue is: an Office Ribbon ID referenced by your XML (somewhere around 40th column) is missing in that Ribbon.


Andrei Smolin
Add-in Express Team Leader
Posted 26 Apr, 2019 08:04:21 Top
Inspirometer Developer




Posts: 34
Joined: 2017-10-13
I figured it out eventually, I did indeed have things misconfigured.

The confusion came from the fact there's actually 2 different TabAppointment tabs that are part of different ribbons. To set the tab to show on the appointment inspector like I needed to set:

  • Context:
  • IdMSO: TabAppointment
  • Ribbons: OutlookAppointment

The other TabAppointment is the ribbon Outlook shows you when you click on a meeting/appointment in the calendar view. To get the tab to show here you would need the settings:

  • Context: TabSetAppointment
  • IdMSO: TabAppointment
  • Ribbons: OutlookExplorer
Posted 29 Apr, 2019 07:10:02 Top
Andrei Smolin


Add-in Express team


Posts: 18794
Joined: 2006-05-11
Thank you!


Andrei Smolin
Add-in Express Team Leader
Posted 29 Apr, 2019 08:53:11 Top