RibbonX-Workshop - Icons zur Laufzeit ändern
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