![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
如何用VBA在WORD中创建命令栏(即菜单项)并在每个菜单项上加上图标?
SubcreateMenu()DimmyMenuBarAsCommandBarDimnewMenuAsCommandBarPopupDimctrl1AsCommandBa...
Sub createMenu()
Dim myMenuBar As CommandBar
Dim newMenu As CommandBarPopup
Dim ctrl1 As CommandBarButton
'初始化菜单
Set myMenuBar = Application.ActiveDocument.CommandBars.ActiveMenuBar
Set newMenu = myMenuBar.Controls.Add(Type:=msoControlPopup, _
Temporary:=True)
newMenu.Caption = "值班记事"
Set ctrl1 = newMenu.Controls.Add(Type:=msoControlButton, ID:=1)
ctrl1.Caption = "提取上班"
ctrl1.Style = msoButtonCaption
ctrl1.FaceId = 2109
ctrl1.OnAction = "ShowForm1"
Set ctrl1 = newMenu.Controls.Add(Type:=msoControlButton, ID:=1)
ctrl1.Caption = "保存记事"
ctrl1.Style = msoButtonCaption
ctrl1.FaceId = 270
ctrl1.OnAction = "ShowForm2"
Set ctrl1 = newMenu.Controls.Add(Type:=msoControlButton, ID:=1)
ctrl1.Caption = "导出报表"
ctrl1.Style = msoButtonCaption
ctrl1.FaceId = 1948
'ctrl1.OnAction = "ShowForm4"
End Sub
从网上找了一段代码。但是运行后图标就是出不来。请大家帮忙看看是什么原因 展开
Dim myMenuBar As CommandBar
Dim newMenu As CommandBarPopup
Dim ctrl1 As CommandBarButton
'初始化菜单
Set myMenuBar = Application.ActiveDocument.CommandBars.ActiveMenuBar
Set newMenu = myMenuBar.Controls.Add(Type:=msoControlPopup, _
Temporary:=True)
newMenu.Caption = "值班记事"
Set ctrl1 = newMenu.Controls.Add(Type:=msoControlButton, ID:=1)
ctrl1.Caption = "提取上班"
ctrl1.Style = msoButtonCaption
ctrl1.FaceId = 2109
ctrl1.OnAction = "ShowForm1"
Set ctrl1 = newMenu.Controls.Add(Type:=msoControlButton, ID:=1)
ctrl1.Caption = "保存记事"
ctrl1.Style = msoButtonCaption
ctrl1.FaceId = 270
ctrl1.OnAction = "ShowForm2"
Set ctrl1 = newMenu.Controls.Add(Type:=msoControlButton, ID:=1)
ctrl1.Caption = "导出报表"
ctrl1.Style = msoButtonCaption
ctrl1.FaceId = 1948
'ctrl1.OnAction = "ShowForm4"
End Sub
从网上找了一段代码。但是运行后图标就是出不来。请大家帮忙看看是什么原因 展开
1个回答
展开全部
你的代码是正确的,但是如果你要显示图标,你需要把所有ctrl1.style = msoButtonCaption 这一句改为 ctrl1.Style = msoButtonIconAndCaption,这样就能够一起显示图标和文字了,我试过是可以的,希望能帮到你
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询