VBA:右键单击用户表单

Posted

技术标签:

【中文标题】VBA:右键单击用户表单【英文标题】:VBA: right click in user form 【发布时间】:2021-10-18 17:34:36 【问题描述】:

是否有一种简单的方法可以在 vba、excel 的用户表单中的文本框中启用右键单击弹出菜单?我只是想粘贴到文本框中,但无法在用户表单中右键单击打开菜单

我的代码给出了一个“编译错误:参数不是可选的”并在 With Controls.Add 中突出显示 .Add ...

 Private myMenu

Private Sub TextBox1_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
    If (Button = 2) Then myMenu.ShowPopup
End Sub

Private Sub UserForm_Initialize()
    With UserForm1
        .StartUpPosition = 2
    End With

    Set myMenu = Application.CommandBars.Add(Position:=msoBarPopup, Temporary:=True)

    With myMenu
        With Controls.Add
            .Caption = "Hello"
            .OnAction = "HelloWorld"
        End With
    End With
End Sub

【问题讨论】:

看看这里:social.msdn.microsoft.com/Forums/en-US/… 是的,我发现之前但一直遇到“编译错误:参数不是可选的”并且它突出显示。在这部分代码中添加带有控件的 myMenu。添加 .Caption = "Hello" .OnAction = "HelloWorld" End With End With .... PS 不确定如何将其编辑为代码抱歉 如果您编辑帖子并包含您尝试过的内容以及您遇到错误的行,更多人将能够提供帮助。 哦,好电话 【参考方案1】:

改变这一行:

With Controls.Add

收件人:

With .Controls.Add

【讨论】:

以上是关于VBA:右键单击用户表单的主要内容,如果未能解决你的问题,请参考以下文章

VBA - 右键单击​​列表框时创建菜单列表

VBA - 右键单击 列表框时创建菜单列表

单击父窗体时不会触发访问 VBA 子窗体事件

访问 VBA 弹出子表单以提交条目

访问VBA无法刷新表单

下一个按钮用户窗体 Excel VBA