我正在尝试控制保存在XLAM插件中的按钮图像。我想根据条件的某些值在按钮上显示不同的自定义图像。看起来像这样:
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui" >
<ribbon>
<tabs>
<tab id="CustomTab" getLabel="GetLabel">
<group id="GroupCustom" getLabel="GetLabel">
<button id="CustomBtn" getLabel="GetLabel" onAction="RunMacro" getImage="GetImage"/>
</group>
</tab>
</tabs>
</ribbon>
</customUI>
我已将图片保存在加载项中:
<?xml version="1.0" standalone="yes"?>
<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships">
<Relationship Id="custom_image" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/image" Target="images/custom_image.jpg"/>
</Relationships>
如果这样写,那就行得通
<button id="CustomBtn" getLabel="GetLabel" onAction="RunMacro" Image="custom_image"/>
But I need to control image from VBA. This works:
Sub GetImage(control As IRibbonControl, ByRef Image)
Select Case control.ID
Case "CustomBtn": Set Image = LoadPicture("C:\SomeDirectory\custom_image.jpg")
End Select
End Sub
但是我不想将图像存储在外部位置。 这不起作用:
Case "CustomBtn": Image = "custom_image"
任何人都可以告诉我,是否可以使用VBA回调来控制AddIn中保存的图像?还是只有一种方法可以制作两个按钮并控制其中的可见性?