如何将命令栏放置在我想要的位置

时间:2019-04-02 15:41:18

标签: excel vba

我在Excel中的用户表单上有一个按钮。当用户单击按钮时,将弹出一个命令栏,但是该命令栏仅在用户鼠标所在的位置弹出。我希望命令栏始终在特定位置弹出(在用户单击的按钮下),而与鼠标位置无关。有任何想法吗?我当前的代码如下。谢谢

我尝试使用Commandbar.position属性,但出现以下错误:“对象'CommandBar'的方法'Position'失败,过程CreateShortcut”

Public Sub CreatePopUp(menuOptions As Object)
Dim myBar As CommandBar
Dim myItem As CommandBarControl

On Error Resume Next

CommandBars("MyShortcut").Delete

On Error GoTo ErrorHandler

Set myBar = CommandBars.Add _
   (name:="MyShortcut", Position:=msoBarPopup, Temporary:=True)

For Each opt In menuOptions.Keys
    Set myItem = myBar.controls.Add(Type:=msoControlButton)
    With myItem
        .caption = menuOptions(opt)(0)
        .OnAction = opt
        .faceId = menuOptions(opt)(1)
    End With
Next


'CommandBars("MyShortcut").ShowPopup

1 个答案:

答案 0 :(得分:0)

想要显示答案,这比我想象的要容易得多!如果未指定x和y参数,则ShowPopup方法将默认为鼠标位置。您所要做的就是指定您的位置,例如:.ShowPopup x,y。