Jak osadzać obrazy w pliku pakietu Office dla niestandardowej wstążki
Opracowuję niestandardowe rozszerzenie wstążki dla programu Excel, w którym formant wymaga różnych niestandardowych obrazów. Udało mi się użyć niektórych obrazów znajdujących się w moim systemie plików, ale chciałbym osadzić te obrazy w pliku .xlsm. Czy można to zrobić i odwołać się do nich z kodu VBA, który aktualizuje obraz kontrolki?
Dla celów testowych jest to XML, który definiuje moją niestandardową wstążkę:
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui" onLoad="ribbonLoaded">
<ribbon>
<tabs>
<tab idMso="TabHome" >
<group id="customGroup1" label="My Group" insertAfterMso="GroupFont">
<button id="customButton1" label="Click Me" size="large" onAction="Macro1" getImage="getButtonImage"/>
</group>
</tab>
</tabs>
</ribbon>
</customUI>
I to jest makro, które zmienia obrazcustomButton1
kontrola:
Dim imgIndex As Long
Public Sub getButtonImage(ByVal control As IRibbonControl, ByRef Image)
Select Case control.ID
Case "customButton1"
Set Image = LoadPicture("img" + Trim(Str(imgIndex)) + ".bmp")
imgIndex = (imgIndex + 1) Mod 2
End Select
End Sub
Próbowałem dodać pliki bmp do pliku .xlsm i odwołać się do nich aktualizując plik relacji (.rels), ale nie wiem, jak odwoływać się do nich z VBA i co najważniejsze, kiedy otwieram plik za pomocą Excela i zapisuję go, są automatycznie usuwane ...
Każda pomoc jest doceniana!