Как добавить пункт меню в контекстное меню ячейки Excel 2010 - старый код не работает

Я попробовал 3 разных примера кода, и все они не увенчались успехом.

Вот код сотрудника MSFT ( Как показать контекстное меню в диапазоне), два других примера имеют почти такой же код:

private void ThisAddIn_Startup(object sender, System.EventArgs e)
{
    CommandBar cellbar = this.Application.CommandBars["Cell"];
    CommandBarButton button = (CommandBarButton) cellbar.FindControl(MsoControlType.msoControlButton, 0, "MYRIGHTCLICKMENU", Missing.Value, Missing.Value);
    if (button == null)
    {
        // add the button
        button = (CommandBarButton) cellbar.Controls.Add(MsoControlType.msoControlButton, Missing.Value, Missing.Value, cellbar.Controls.Count, true);
        button.Caption = "Refresh";
        button.BeginGroup = true;
        button.Tag = "MYRIGHTCLICKMENU";
        button.Click += new _CommandBarButtonEvents_ClickEventHandler(MyButton_Click);
    }
}

private void MyButton_Click(CommandBarButton cmdBarbutton, ref bool cancel)
{
    System.Windows.Forms.MessageBox.Show("MyButton was Clicked", "MyCOMAddin");
}

Я ожидаю увидеть пункт меню под названием Refresh при щелчке правой кнопкой мыши по ячейке. Тем не менее, при выполнении приведенного выше кода (в Excel 2010) нет пункта меню «Обновить».

Чего мне может не хватать, или эта функциональность изменилась с 2007 по 2010 год?

6
задан halfer 24 May 2019 в 22:15
поделиться