RibbonX-Workshop - Icons zur Laufzeit ändern

Wenn Sie die Icons für Schaltflächen zur Laufzeit anpassen wollen können Sie das getImage-Attribut einsetzen.

Zuerst der RibbonX-Code:
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui" onLoad="onLoad_1">
    <ribbon startFromScratch="false">
        <tabs>
            <tab id="tab0" label="Tab 1">
                <group id="grp0" label="Group 1">
                    <toggleButton id="btn0" getLabel="getLabel_1" getImage="getImage_1" size="large" onAction="onAction_1" />
                </group>
            </tab>
        </tabs>
    </ribbon>
</customUI>



Nun zum VBA-Code:
Public objRibbon As IRibbonUI
Public bolS1     As Boolean

Public Sub onLoad_1(ribbon As IRibbonUI)
Set objRibbon = ribbon
End Sub

Public Sub onAction_1(control As IRibbonControl, ByRef pressed)

  If pressed = True Then
     bolS1 = True
     MsgBox "Ein"
  Else
     bolS1 = False
     MsgBox "Aus"
  End If
objRibbon.Invalidate

End Sub

Public Sub getLabel_1(control As IRibbonControl, ByRef label)
 If bolS1 Then
    label = "Ein"
 Else
    label = "Aus"
 End If
End Sub



Möchten Sie eigene Icons nutzen müssen diese auf der Festplatte liegen. Idealerweise im selben Pfad wie die Datei.
Das Icon wird dann als Objekt geladen. PNG-Dateien sind nicht erlaubt.
Public Sub getImage_1(control As IRibbonControl, ByRef image)
 If bolS1 Then
   Set image = LoadPicture(ThisDocument.Path & "\00.jpg")
 Else
   Set image = LoadPicture(ThisDocument.Path & "\01.jpg")
 End If
End Sub



Möchten Sie integrierte Icons nutzen müssen Sie die imageMso angegen.
Public Sub getImage_1(control As IRibbonControl, ByRef image)
 If bolS1 Then
    image = "AutoDial"
 Else
    image = "HappyFace"
 End If
End Sub



Möchten Sie Bilder mit Transparenz nutzen können Sie folgenden Tip durcharbeiten => Eigene Bilder verwenden, eine Beispieldatei finden Sie hier => Icons zur Laufzeit ändern