Update Ribbons Dynamically

If you have setup a multi-lingual application you may want to change the Ribbon Labels dynamically. To do so the ribbon needs to be cached when loading. This can be done using callback onLoad of the <customUI> element.

Needed Ribbon XML:

<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui"
  onLoad="CallbackOnLoad">
</customUI>

To be copied to a standard module:

Option Compare Database
Option Explicit
  
Public gobjRibbon As IRibbonUI
  
Sub CallbackOnLoad(ribbon As IRibbonUI)
    ' Cache a copy of RibbonUI.
    Set gobjRibbon = ribbon
End Sub

Now you have the possibility to adjust single ribbon controls using gobjRibbon.InvalidateControl "ControlID"
or the entire ribbon using gobjRibbon.Invalidate.