Yes, this was a technique that was worked out only a few months ago. But that is exactly what it is intended to do.
Unfortunately, no. It’s a very poor implementation, imo, in that there is nothing we can do to keep the RibbonX object alive. One crash and you’re back to reload to reinstitute it.
Is there a way to declare the Ribbon UI object as a constant in your VBA rather than using the onLoad routine and a variable?
I want to know this because if the code debugs or if the user resets the VBA project then the reference to the UI object is lost so any Invalidate routines produce a runtime error. This can be quite frustrating, as the only solution (as far as I know?) is to reload the workbook.
Thanks
]]>