• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

loss of state of the global IRibbonUI Ribbon object

Status
Niet open voor verdere reacties.

glda19

Terugkerende gebruiker
Lid geworden
14 jan 2008
Berichten
1.064
Via de site van rond de bruin de oplossing gevonden.
https://www.rondebruin.nl/win/s2/win015.htmhttps://

Maar wat er niet instaat is wanneer deze code aanspreken. Komt uit het bovenstaande link

Code:
Sub RefreshRibbon(Tag As String)
    MyTag = Tag
    If YourRibbon Is Nothing Then
        Set YourRibbon = GetRibbon(Sheets(1).Range("A30").Value)
        YourRibbon.Invalidate
        MsgBox "The Ribbon handle was lost, Hopefully this is sorted now by the GetRibbon Function?. You can remove this msgbox, I only use it for testing"
    Else
        YourRibbon.Invalidate
    End If
End Sub
 
Dat gaat om de .Invalidate methode.
Die gebruik je als je het betreffende ribbon object opnieuw wilt laden.
Bijvoorbeeld na het wijzigen van tekst op knoppen, vanuit VBA.
 
gaat hier om een keuzelijst.
En per keuze is er een onderdeel in de select case
Dus zou ik dit beter laten doen na de select case.
En dan de code van ron de bruin steeds laten uitvoeren
 
Als je keuzelijst in de ribbon niet wijzigt (statisch is) dan is de refresh/invalidate niet nodig.
Als je een dynamicMenu of zo hebt en je wijzigt de inhoud dan moet je de invalidate doen (zoals edmoor aangeeft). Daarmee vraag je aan Excel om de nieuwe inhoud te komen halen (callback).

Dit is overigens iets anders dan je onderwerp beschrijft. Het gebeurt praktisch nooit dat je de status van de ribbon verliest. Als het al gebeurt is het door een runtime error die niet goed wordt afgehandeld.
 
Simpel dus.
Als er op run-time niks aan je ribbon veranderd heb je de Sub die je in #1 plaatste niet nodig.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan