добавить элемент в контекстное меню в диаграмме Excel - PullRequest
2 голосов
/ 24 июня 2009

Как добавить элемент в контекстное меню в диаграмме Excel с помощью VBA? Excel это 2007. Диаграмма автономная листовая.

Ответы [ 3 ]

6 голосов
/ 23 марта 2011

Уже довольно поздно, но я подумал, что это важно для всех, кто пытается это сделать.

В Excel 2007 и 2010 вы не можете изменять контекстные меню для диаграмм и фигур. Ошибок нет, но модификации просто не применяются. Microsoft знает об этом, по крайней мере, умных парней из группы продуктов, но я полагаю, что для этих версий ничего не планируется для решения этой проблемы.

2 голосов
/ 26 июня 2009

Вы хотите использовать коллекцию CommandBars, которая используется для контекстных меню в дополнение к панелям инструментов. Существует как минимум три контекстных меню - ячейка (щелчок правой кнопкой мыши по любой ячейке), строка и столбец (щелчок правой кнопкой мыши по заголовкам A, B, C или 1, 2, 3). Ниже приведен базовый код для добавления нового элемента в контекстное меню строки.

См. Также документацию MSDN для CommandBars , а также имеется старый список элементов панели команд Office 2000 .

Sub AddToContextMenu()
    Dim element As CommandBarButton
    Set element = CommandBars("row").Controls.Add
    element.Caption = "Menu Item Name"
    element.OnAction = "VBAToRunOnRow"
End Sub
0 голосов
/ 02 марта 2010

Я знаю, что вы не спрашиваете о решении C #, но я подумал, что было бы полезно опубликовать его, поскольку я только что решил его из ответа Алистера:

public void AddContextMenuItem(Microsoft.Office.Interop.Excel.Application application, string label)
{
    var button = (CommandBarButton)application.CommandBars["cell"].Controls.Add();
    button.Caption = label;
    button.Click += button_Click;
}

void button_Click(CommandBarButton Ctrl, ref bool CancelDefault)
{
    //Button click
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...