Лучший отвечающий
Excel 2007 SP2: Добавление команд в контекстное меню

Вопрос
-
Здравствуйте!
Можно ли добавлять команды в контекстное меню (выводящееся при нажатии правой кнопкой мыши на ячейке)?
Каким образом?
Спасибо!30 сентября 2009 г. 12:26
Ответы
-
Да такое возможно. Вот пример из http://excel.tips.net/Pages/T002064_Adding_Items_to_a_Context_Menu.html
Sub AddItemToContextMenu() Dim cmdNew As CommandBarButton Set cmdNew = CommandBars("cell").Controls.Add With cmdNew .Caption = "My Procedure" .OnAction = "MyProcedure" .BeginGroup = True End With End Sub
Sub RemoveContextMenuItem() On Error Resume Next CommandBars("cell").Controls("My Procedure").Delete End Sub
Тут MyProcedure это ваш макрос, который вы хотите вызвать.
Сазонов Илья http://www.itcommunity.ru/blogs/sie-wl/- Помечено в качестве ответа Vinokurov YuriyModerator 12 октября 2009 г. 7:23
30 сентября 2009 г. 13:31Модератор -
Стандартная команда это вызов метода какого-либо объекта в Excel.
Например, WorkBook -> WorkSheets -> WorkSheet -> Range -> Rows(1).Delete()
Смотрите примеры:
http://www.mvps.org/dmcritchie/excel/rightclick.htm
http://www.ozgrid.com/forum/showthread.php?t=32344
http://www.xtremevbtalk.com/showthread.php?t=308165
Сазонов Илья http://www.itcommunity.ru/blogs/sie-wl/- Предложено в качестве ответа Radzevelyuk Alexey 9 октября 2009 г. 13:01
- Помечено в качестве ответа Vinokurov YuriyModerator 12 октября 2009 г. 7:23
2 октября 2009 г. 10:30Модератор
Все ответы
-
Да такое возможно. Вот пример из http://excel.tips.net/Pages/T002064_Adding_Items_to_a_Context_Menu.html
Sub AddItemToContextMenu() Dim cmdNew As CommandBarButton Set cmdNew = CommandBars("cell").Controls.Add With cmdNew .Caption = "My Procedure" .OnAction = "MyProcedure" .BeginGroup = True End With End Sub
Sub RemoveContextMenuItem() On Error Resume Next CommandBars("cell").Controls("My Procedure").Delete End Sub
Тут MyProcedure это ваш макрос, который вы хотите вызвать.
Сазонов Илья http://www.itcommunity.ru/blogs/sie-wl/- Помечено в качестве ответа Vinokurov YuriyModerator 12 октября 2009 г. 7:23
30 сентября 2009 г. 13:31Модератор -
Спасибо! отлично!
Но как вставить не макрос, а стандартную кнопку, имеющуюся в Экселе (например, "Вставить только значения" или "Удалить столбец"?
Спасибо!30 сентября 2009 г. 14:17 -
Стандартная команда это вызов метода какого-либо объекта в Excel.
Например, WorkBook -> WorkSheets -> WorkSheet -> Range -> Rows(1).Delete()
Смотрите примеры:
http://www.mvps.org/dmcritchie/excel/rightclick.htm
http://www.ozgrid.com/forum/showthread.php?t=32344
http://www.xtremevbtalk.com/showthread.php?t=308165
Сазонов Илья http://www.itcommunity.ru/blogs/sie-wl/- Предложено в качестве ответа Radzevelyuk Alexey 9 октября 2009 г. 13:01
- Помечено в качестве ответа Vinokurov YuriyModerator 12 октября 2009 г. 7:23
2 октября 2009 г. 10:30Модератор -
Спасибо большое за ответ. Пока не понял :) но буду разбираться9 октября 2009 г. 12:48