我正在为 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
我尝试在 .xlsm 中添加 bmp 文件并引用它们来更新关系文件 (.rels),但我不知道如何从 VBA 中引用它们,最重要的是,当我使用 Excel 打开文件并保存它时,它们被自动删除...
任何帮助表示赞赏!