【问题标题】:Excel 2010 Custom right-click menu within cellExcel 2010 单元格内的自定义右键菜单
【发布时间】:2023-03-03 18:39:01
【问题描述】:

我花了很多时间才找到解决方案,但没有成功。 我尝试在右键菜单中添加自定义操作,但是当我在单元格中输入时,因此处于编辑模式。 所有主题都说明了如何在右键菜单中添加操作,但仅限于您选择单元格时,而不是当您在其中时。

这是我个人的右键菜单

这是在编辑模式下右键单击时的上下文菜单:

我的标准右键菜单代码:

Public Function addMenu(menuName As String, menuActionMacro As String, pictureFaceId As Integer, beginGroup As Boolean)

    If checkMenuNotExist(menuActionMacro) Then
        Dim cbButt As CommandBarButton
        Dim cb As CommandBar

        Set cb = Application.CommandBars("cell")
        Set cbButt = cb.Controls.Add(msoControlButton, Temporary:=True)

        cbButt.beginGroup = beginGroup
        cbButt.Caption = menuName
        cbButt.OnAction = menuActionMacro
        cbButt.FaceId = pictureFaceId
        cbButt.Tag = menuActionMacro

    End If
End Function

有人如何在编辑右键菜单中添加动作吗?

【问题讨论】:

    标签: excel contextmenu


    【解决方案1】:

    我使用我的MenuRighter 加载项及其“在菜单上显示标签”功能来确定您感兴趣的上下文菜单是#58 并且称为“公式栏”。我不认为它是可变的,但我能够将文件菜单添加到它。

    所以试试这个:

    Public Function addMenu(menuName As String, menuActionMacro As String, pictureFaceId As Integer, beginGroup As Boolean)
    
        If checkMenuNotExist(menuActionMacro) Then
            Dim cbButt As CommandBarButton
            Dim cb As CommandBar
    
            Set cb = Application.CommandBars("Formula Bar")
            Set cbButt = cb.Controls.Add(msoControlButton, Temporary:=True)
    
            cbButt.beginGroup = beginGroup
            cbButt.Caption = menuName
            cbButt.OnAction = menuActionMacro
            cbButt.FaceId = pictureFaceId
            cbButt.Tag = menuActionMacro
    
        End If
    End Function
    

    【讨论】:

    • 谢谢,但我需要与所有员工 (+500) 和 GPO 共享此文档,我无法在每台计算机上安装特定补充
    • 我认为您的问题是如何使用 VBA 添加到单元格编辑菜单。这就是我的回答所显示的。你试过运行VBA吗?如果这不是问题,请澄清它。您不需要安装我提到的加载项 - 只是我曾经发现您要修改的那个快捷菜单称为“公式栏”。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-21
    • 2015-07-16
    相关资源
    最近更新 更多