如何将图标添加到Excel菜单/工具栏按钮

时间:2010-05-15 19:24:11

标签: excel vba

我需要将图像添加到通过VBA创建的自定义工具栏/菜单项。

对于工具栏项,我尝试了以下代码

Set NewBtn = TBar.Controls.Add(Type:=msoControlButton)
With NewBtn

.Picture = LoadPicture("mypic.bmp")
.OnAction = "'MyFunction""" & para1 & """'"  //VBA Function
'.Caption = "MyFunction"
.TooltipText = "MyFunction"
.Style = msoButtonCaption

End With

在上面的代码中,LoadPicture()似乎不起作用。我的工具栏正在初始化工作簿加载事件。我注意到图像正在加载到工具栏按钮,但在几分之一秒内消失,只显示项目文本。我的图像是16x16像素bmp one。

任何有助于解决此问题的帮助

谢谢

2 个答案:

答案 0 :(得分:1)

使用MsoButtonStyle.msoButtonIcon或其中一个包含图标一词的MsoButtonStyle成员。

答案 1 :(得分:0)

在VBA中,我将图标存储在工作表(oTemplate)上,并使用以下方法将它们传输到按钮:
with NewBtn
oTemplate.Shapes("picCalcOpt").CopyPicture
.PasteFace