我在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
答案 0 :(得分:0)
想要显示答案,这比我想象的要容易得多!如果未指定x和y参数,则ShowPopup方法将默认为鼠标位置。您所要做的就是指定您的位置,例如:.ShowPopup x,y。