如何使用VBA将项目添加到Excel图表中的右键菜单? Excel是2007。 图表是独立工作表。
答案 0 :(得分:6)
现在已经很晚了,但我认为这对其他人来说很重要。
在Excel 2007和2010中,您无法更改图表和形状的上下文菜单。没有错误,但修改不适用。微软知道这一点,至少是产品组中的聪明人,但我相信这些版本没有计划解决这个问题。
答案 1 :(得分:2)
您想要使用CommandBars
集合,除了工具栏之外,它还用于上下文菜单。至少有三个上下文菜单 - 单元格(右键单击任何单元格),行和列(右键单击A,B,C或1,2,3标题)。下面是将新元素添加到行上下文菜单的基本代码。
另请参阅MSDN documentation for CommandBars,并且有一个old Office 2000 list of commandbar elements。
Sub AddToContextMenu()
Dim element As CommandBarButton
Set element = CommandBars("row").Controls.Add
element.Caption = "Menu Item Name"
element.OnAction = "VBAToRunOnRow"
End Sub
答案 2 :(得分:0)
我知道你并没有要求提供C#解决方案,但我认为发布一个是有用的,因为我刚刚从Alistair的答案中解决了这个问题:
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
}