Я создаю всплывающее меню для вставки в текстовое поле ActiveX на листе Excel. Всплывающее меню работает, но опция «Вставить» недоступна.Проблема с VBA правой кнопкой мыши Вставить
Private Sub txtInput_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
If Button = vbKeyRButton Then
Call ShowMenu
Application.CommandBars("MyMenu").ShowPopup
End If
End Sub
Sub ShowMenu()
'Remove any old instance of MyPopUp
On Error Resume Next
CommandBars("MyMenu").Delete
On Error GoTo 0
With CommandBars.Add(name:="MyMenu", Position:=msoBarPopup)
With .Controls.Add(Type:=msoControlButton, ID:=22)
.Enabled = True
End With
End With
End Sub
Я добавил в .Enabled = True
но не решить проблему. Я уверен, что мне не хватает чего-то основного.
Дополнительный вопрос после того, как пользователь может пунктвставка, я должен добавить OnAction
и обратитесь к югу, чтобы он на самом деле вставить текст в текстовое поле или с помощью msoControlButton с идентификатором 22 достаточно, чтобы указать, склейка текста?
Если это относится к другой процедуре, такой как '' Textbox_Paste ", вы можете также включить необходимый код из этой процедуры. В противном случае я думаю, что этот ответ будет неполным. –
@DavidZemens, Добавлен код для отображения окна сообщения при нажатии Paste. –
Оператор 'OnAction' вызывает процедуру' 'Textbox_Paste''. Где код для '' Textbox_Paste? '? –