我有一个简单的ExcelCommand:

[ExcelCommand(Name = "MyTestCommand", ShortCut = "^Q")]
public static void Teste()
{
    var xlApp = (Application)ExcelDnaUtil.Application;
    var ws = xlApp.Sheets[1] as Worksheet;
    var range = ws.Cells[1, 1] as Range;
    range.Value2 = "foo bar";
}


当我按Ctrl + Shift + Q时,第一张工作表中的单元格A1收到文本"foo bar"

客户端不需要快捷方式,而是需要用户界面按钮(在功能区或工作表正文中,都没有关系)。

使用VBA,我可以编写:

Sub Button1_OnClick()
    MyTestCommand
End Sub


但是调用MyTestCommand不起作用。

如何调用我创建的命令?

最佳答案

如果为MenuTextExcelCommand成员设置值,它将通过Add-Ins功能区自动变为可用。

c# - 如何从ExcelDna使用ExcelCommand-LMLPHP

[ExcelCommand(MenuText = "My Test Command", ShortCut = "^Q")]
public static void Teste()
{
    // ...
}


如果要进一步控制命令的外观,请使用自己的按钮,图标等创建自己的CustomUITake a look at the different Ribbon examples that come with Excel-DNA

09-25 15:48