Giz
You will have to capture the RibbonUI object and then invalidate it within your dropdown onAction code (RunRPNavigation)
To do this set an onLoad attribute against your CustomUI in the RibbonX, for example
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui"
onLoad="myRibbonUIonLoad">
<--Your bits in here-->
</customUI>
Now, in your VBA standard module, set a Global Variable at the top of the module as you want it's scope as wide as possible and available to all code in that module., e.g
Public gRibbonUI as IRibbonUI
Then in your myRibbonUIonLoad code do something like
Sub myRibbonUIonLoad(ribbon As IRibbonUI)
Set gRibbonUI = ribbon
'Do anything else here, but you now have a handle on the ribbon object (gRibbonUI)
End Sub
Now in your RunRPNavigation code you can invalidate the ribbon, which effectievly reloads it, setting your dropdown to null (or anything else you wish to
Include the line
gRibbonUI.Invalidate
That's the theory anyhow ;-)
Regards
Nick Hodge
Microsoft MVP, Excel
Southampton, UK