I am trying to build a dynamic ribbon in Excel 2007. I can find lots of examples on the web of ribbon buttons that change image when the button is pressed (essentially they toggle). However, I want to change the button based on the contents of a particular workbook. I already have a function that checks anytime a workbook is activated to see if that workbook is of what we will call "SpecialType".

It looks something like:

Private Sub xlApp_WorkbookActivate(ByVal Wb As Workbook)
    If funcActiveWorkbookIsSpecial = True Then
        'use this image for button on ribbon
    Else
        'use a different image for button on ribbon
    End If
End Sub
My ribbon code looks something like:
<customUI onLoad="ribbonLoaded" xmlns="http://schemas.microsoft.com/office/2006/01/customui">
	<ribbon startFromScratch="false">
		<tabs>
			<tab id="MyTools" label="My Tools" tag="My_Tools" >
				<group id="Group1" label="Group 1">
					<button id="thatButton" label="This is the button!" getImage="GetImage" size="normal" onAction="Call_thatButton" />
				
				</group>
			</tab>
		</tabs>
	</ribbon>
</customUI>
I have followed the directions for changing labels (close enough) on several websites: http://www.rondebruin.nl/win/s2/win009.htm or http://gregmaxey.mvps.org/word_tip_p...bbon_main.html
The problem is they all initiate the image change by something else in the ribbon and so cleanly pass the ribbon id around. I need to initiate by my xlApp_WorkbookActivate and then set the image in the ribbon.

They (and I here) have a GetImage function that requires the IRibbonControl, and since I haven't pressed a button on the ribbon, I don't have it! (I think...)
Sub GetImage(control As IRibbonControl, ByRef image)
    Select Case control.ID
    Case "thatButton"
        If funcActiveWorkbookIsSpecial = True Then
            image = "AcceptInvitation"
        Else
            image = "_1"
        End If
    End Select
End Sub
Basically, I have all the pieces from these other websites, but since my application is slightly different, I can't figure out how to tie the pieces together!

This guy ALMOST solved it for me in Question 3 on http://excelusergroup.org/blogs/nick...he-ribbon.aspx
Unfortunately, he only sets the image initially. He was asked in the 5th comment how to update the ribbon when a change occurred, but he didn't answer. If someone could even answer the question the way it was asked in that blog, I could probably figure out how to apply it to my need!

Thanks!