2016-03-25 4 views
2

Я потратил много часов, чтобы найти решение без успеха. Я пытаюсь добавить пользовательское действие в контекстное меню, но КОГДА я набираю ячейку, поэтому в режиме редактирования. Все темы объясняют, как добавить действие в контекстное меню, но только при выборе ячейки, когда вы находитесь.Excel 2010 Пользовательский контекстное меню в ячейке

Это мое личное меню правой кнопкой мыши This is my personnal right-clik menu

Это контекстное меню при щелчке правой кнопкой мыши в режиме редактирования: This the contextual menu when you right-clik in edition mode

Мой код для стандартного меню правой кнопки мыши:

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 

Кто-нибудь, как добавить действие в редактирование правого клика?

ответ

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 
+0

Спасибо, но мне нужно разделить этот документ со всеми сотрудниками (+500) и объект групповой политики, я не могу установить конкретный комплемент на каждом компьютере – m4m4

+0

я думал, что ваш вопрос был как для добавления в меню «Редактирование ячейки» с помощью VBA. Вот что говорит мой ответ. Вы пытались запустить VBA? Если это не вопрос, пожалуйста, проясните это. Вам не нужно устанавливать надстройку, о которой я упоминал, - именно это я и выяснил, что это контекстное меню, которое вы хотите изменить, называется «панель формул». –

Смежные вопросы