Excel VBA-将子菜单添加到自定义右键菜单

DayLove.01

长时间的观众,第一次海报。我有一个带有右键单击功能的表单,可以正常工作。我试图将一个子菜单添加到主右键单击菜单中,以分隔一些功能/命令。我需要/想要插入“选择案例”的部分,但是,它仅显示顶部菜单。不知道从这里去哪里。任何帮助都是极好的

谢谢 :)

附言:如有需要,我很乐意进一步解释。

Sub fzCopyPaste(iItems As Integer)
On Error Resume Next
CommandBars("Custom").Delete
Set PopBar = CommandBars.Add(Name:="Custom", Position:=msoBarPopup, MenuBar:=False, Temporary:=True)

'在主Popbar上添加top_menu:这项工作正常

Set top_menu = PopBar.Controls.Add(Type:=msoControlButton)
With top_menu
    '.FaceId =
    .Caption = "&Some Commands"
End With

需要将下面的子菜单插入顶部菜单,但什么都没有显示:不起作用

Select Case iItems
Case 1  ' Copy and Paste
    Set copy_button = top_menu.Controls.Add(Type:=msoControlButton)
    With copy_button
        .FaceId = 19
        .Caption = "&Copy"
        .Tag = "tCopy"
        .OnAction = "fzCopyOne(true)"
    End With

    Set paste_button = top_menu.Controls.Add(Type:=msoControlButton)
    With paste_button
        .FaceId = 22
        .Tag = "tPaste"
        .Caption = "&Paste"
        .OnAction = "fzCopyOne(true)"
    End With
Case 2 '  Paste Only
    Set paste_button = top_menu.Controls.Add(Type:=msoControlButton)
    With paste_button
        .FaceId = 22
        .Tag = "tPaste"
        .Caption = "&Paste"
        .OnAction = "fzCopyOne(true)"
    End With
End Select

'此处的其他顶级菜单:此功能正常

    Set paste_button = PopBar.Controls.Add(Type:=msoControlButton)
    With paste_button
        .FaceId = 22
        .Tag = "tPaste"
        .Caption = "Main POP BAR 2"
        .OnAction = "fzCopyOne(true)"
    End With


PopBar.ShowPopup

CommandBars("Custom").Delete
End Sub
提姆

您将Copy_Button等于设置msoControlButton如果您想要一个按钮,这是正确的。不过,您需要菜单,因此应将其设置为msoControlPopup尝试这样的事情:

Set Top_Menu = PopBar.Controls.Add(Type:=msoControlPopup)
With Top_Menu 
    .Caption = "&Some Commands"
    Set MySubMenu = .Controls.Add(Type:=msoControlPopup, before:=1, temporary:=True)
    Select Case iItems
        Case 1
            With MySubMenu
                .Caption = "Submenu Commands"
                With .Controls.Add(Type:=msoControlButton, before:=1, temporary:=True)
                    .FaceId = 19
                    .Caption = "&Copy"
                    .Tag = "tCopy"
                    .OnAction = "fzCopyOne(true)"
                End With

                With .Controls.Add(Type:=msoControlButton, before:=2, temporary:=True)
                    .FaceId = 22
                    .Tag = "tPaste"
                    .Caption = "&Paste"
                    .OnAction = "fzCopyOne(true)"
                End With
            End With
        Case 2
            'etc
    End Select
End With

我用以下内容删除了“ Top_Menu”部分(前三行);它添加了一个额外的按钮,然后添加了所需的菜单。

Set MySubMenu = PopBar.Controls.Add(Type:=msoControlPopup, before:=1, temporary:=True)
With MySubMenu
    .Caption = "&Some Commands"

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将单元格值添加到Excel VBA中的“右键单击”菜单

来自分类Dev

将图片添加到Excel vba

来自分类Dev

Excel VBA-添加自定义数字格式

来自分类Dev

使用VBA将行添加到Excel表

来自分类Dev

excel vba按钮将文本添加到文件

来自分类Dev

将当前用户添加到抄送列表Excel VBA

来自分类Dev

将转置添加到 Excel VBA

来自分类Dev

返回自定义对象Excel VBA

来自分类Dev

Excel:将项目添加到下拉菜单

来自分类Dev

单元格中的Excel 2010自定义右键单击菜单

来自分类Dev

单元格中的Excel 2010自定义右键单击菜单

来自分类Dev

将工具提示添加到Excel加载项自定义功能区UI XML

来自分类Dev

Ms excel - 如何将 1 天添加到我的自定义日期?

来自分类Dev

VBA Excel在子菜单中将xlValues声明为参数

来自分类Dev

从bash菜单调用excel 2010 vba

来自分类Dev

从bash菜单调用excel 2010 vba

来自分类Dev

将图标添加到TinyMCE自定义菜单

来自分类Dev

将样式添加到自定义菜单

来自分类Dev

在Excel VBA中将工作表名称添加到数组

来自分类Dev

将 excel 自定义函数添加到现有的 excel 加载项 - Javascript Api

来自分类Dev

在Excel VBA中进行自定义集合

来自分类Dev

Excel VBA自定义功能帮助对话框

来自分类Dev

遍历自定义对象类Excel VBA的更好方法

来自分类Dev

Excel VBA 自定义排序无法正常工作

来自分类Dev

自定义Excel右键单击上下文菜单被Quick Analysis默认设置覆盖

来自分类Dev

子查询 Excel VBA SQL

来自分类Dev

VBA Excel:用户定义的功能

来自分类Dev

Excel VBA对象定义的错误

来自分类Dev

EXCEL VBA - 定义子或函数