我想做一个按钮,点击弹出菜单,菜单中包含一些选项,当点击菜单中的一个选项的时候,把这个选项的内容插入到文档的光标处(插入一个tag),
然后这个按钮是放到word的工具条当中的!!
不知道我描述的清楚不清楚,初次接触vba
请高手指教!!

解决方案 »

  1.   

    Sub 菜单()
    On Error Resume Next
    Application.CommandBars("myMnu").Delete '删除已有菜单
    Set mymnu = Application.CommandBars.Add '添加新菜单
    With mymnu
     
    .Visible = True '属性值(TRUE为显示)
    .Position = msoBarTop '将此菜单显示在顶部
    .Name = "myMnu"
    End With
    '=============================================
    Set 子菜单 = mymnu.Controls.Add(Type:=msoControlPopup) '添加新按钮
    子菜单.Caption = "菜单一"Set kj = 子菜单.Controls.Add(Type:=msoControlButton) '添加新按钮
    With kj
    .MenuItems.Add Caption:="打印预览(&V)", OnAction:="DoPrintView"
    .Caption = "命令一"
    .OnAction = "命令一"
    End With
    '=============================================
    Set kj = 子菜单.Controls.Add(Type:=msoControlButton) '添加新按钮
    With kj
    .Caption = "命令二"
    .OnAction = "命令二"End WithEnd Sub
    Sub 命令一()
    MsgBox "您好!您选择了菜单一中的命令一按钮111!", 64, "系统提示"
    End Sub
    Sub 命令二()
    MsgBox "您好!您选择了菜单一中的命令二按钮222!", 64, "系统提示"
    End Sub
    我是楼主,我在网上找的如上代码
    我想添加二级菜单,就是在命令一和命令二后面 再添加二级菜单,二级菜单包含很多项,如何添加??
      

  2.   

    从网上找到的
    Public Sub MyFirstMenubar()Dim mybar As CommandBarDim mymenu As Object
    Dim mymenuitem As Object
    Set mybar = CommandBars.Add(Name:="计划", Position:=msoBarTop, MenuBar:=True, temporary:=True)mybar.Controls.Add Type:=msoControlPopup, ID:=30002, Before:=1
    Set mymenu = mybar.Controls.Add(Type:=msoControlPopup, _
    temporary:=True)
    mymenu.Caption = "计划"
    Set mymenuitem = mymenu.Controls.Add(Type:=msoControlButton, ID:=1)
    mymenuitem.Caption = "执行"
    mymenuitem.Style = msoButtonCaption
    mymenuitem.OnAction = "ShowMe"
    mybar.Visible = True
    CommandBars("Worksheet Menu Bar").Visible = FalseEnd SubPublic Sub UndoMyMenu()CommandBars("计划").DeleteEnd SubPublic Sub ShowMe()MsgBox "我成功了!"End SubPublic Sub MyFirstMenubar2()
    Dim mybar As CommandBar
    Dim mymenu As Object
    Dim mymenuitem As Object
    Dim BER As CommandBarControlSet mymenu = CommandBars("Worksheet Menu Bar").Controls.Add(Type:=msoControlPopup, ID:=1, Before:=11, temporary:=True)
      mymenu.Caption = "切料计划"
    Set mymenuitem = mymenu.Controls.Add(Type:=msoControlButton, ID:=1)mymenuitem.Caption = "执行"
    mymenuitem.Style = msoButtonCaption
    mymenuitem.OnAction = "ShowMe"End Sub
    Public Sub MyFirstMenubar3()
    Dim mybar As CommandBar
    Dim mymenu As Object
    Dim mymenuitem As Object
    Dim BER As CommandBarControlSet mymenu = CommandBars("Worksheet Menu Bar").Controls.Add(Type:=msoControlPopup, ID:=1, Before:=11, temporary:=True)
      mymenu.Caption = "切料计划"
    Set mymenuitem = mymenu.Controls.Add(Type:=msoControlButton, ID:=1)mymenuitem.Caption = "执行"
    mymenuitem.Style = msoButtonCaption
    mymenuitem.OnAction = "ShowMe"Set mymenuitem = mymenu.Controls.Add(Type:=msoControlPopup) '定义子菜单
            mymenuitem.Caption = "文件(&F)" '确定菜单名称
          With mymenuitem
           Set BER = .Controls.Add(Type:=msoControlButton) '定义二级子菜单
               With BER
                .Caption = "保存" '确定二级子菜单名称
                .BeginGroup = True '填加间隔线
                .OnAction = "保存" '确定运行程序
                .FaceId = 3 '确定图标
            End With
            
         Set BER = .Controls.Add(Type:=msoControlButton)
           With BER
                .Caption = "工票查询"
                .BeginGroup = True
                .OnAction = "ShowMe"
                .FaceId = 65
               End With
          
        End With
        Set mybar = Nothing
        Set mymenu = Nothing
        Set mymenuitem = Nothing
        Set BER = Nothing
    End Sub