Как встроить изображения в файл Office для пользовательской ленты
Я занимаюсь разработкой собственного расширения ленты для Excel, в котором элемент управления требует различных пользовательских изображений. Мне удалось использовать некоторые изображения, расположенные в моей файловой системе, но я бы хотел вставить эти изображения в файл .xlsm. Можно ли это сделать и ссылаться на них из кода VBA, который обновляет образ элемента управления?
Для целей тестирования это XML, который определяет мою пользовательскую ленту:
<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>
И это тот макрос, который меняет образcustomButton1
управления:
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
Я пытался добавить файлы bmp в .xlsm и ссылаться на них, обновляя файл отношений (.rels), но я не знаю, как ссылаться на них из VBA, и самое важное, когда я открываю файл в Excel и сохраняю его, они автоматически удаляются ...
Любая помощь приветствуется!