我有一个简单的ExcelCommand:
my_func
当我按 Ctrl + Shift + Q 时,第一张工作表中的单元格A1会收到文本[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";
}
。
客户不想要快捷方式,他想要一个用户界面按钮(在功能区或表格中,并不重要)。
使用VBA我可以写:
"foo bar"
但是致电Sub Button1_OnClick()
MyTestCommand
End Sub
并不起作用。
如何调用我创建的命令?
答案 0 :(得分:2)
如果您为MenuText
ExcelCommand
成员设置了值,则会自动通过Add-Ins
功能区提供该值。
[ExcelCommand(MenuText = "My Test Command", ShortCut = "^Q")]
public static void Teste()
{
// ...
}
如果您想要更好地控制命令呈现方式的外观,请使用您自己的按钮,图标等创建自己的CustomUI
{。{3}}。
答案 1 :(得分:0)
通过使用VBA的古怪的SendKeys函数,可以使用一种非常恐怖的方法。这样可以使工作正常,而不必使用功能区,并使您可以在工作表上使用标准按钮。
好吧,站起来遮住你的眼睛:)
Sub Button1_Click()
' this short cut invokes the
' MyTestCommand function
SendKeys "^Q"
End Sub
忍耐,我是说享受
答案 2 :(得分:0)
试试这个:
Sub Button1_OnClick()
Application.Run("MyTestCommand")
End Sub