[英]How to use ExcelCommand from ExcelDna
我有一个简单的 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
不起作用。
如何调用我创建的命令?
如果您为ExcelCommand
的MenuText
成员设置了一个值,它将通过Add-Ins
功能区自动变为可用。
[ExcelCommand(MenuText = "My Test Command", ShortCut = "^Q")]
public static void Teste()
{
// ...
}
如果您想更好地控制命令呈现方式的CustomUI
,请使用您自己的按钮、图标等创建您自己的CustomUI
。 查看 Excel-DNA 附带的不同 Ribbon 示例。
您可以使用 VBA 古怪的 SendKeys 函数来使用一个非常可怕的 frig。 这将使工作无需使用功能区即可工作,并且可以让您使用工作表上的标准按钮。
好的,退后遮住你的眼睛:)
Sub Button1_Click()
' this short cut invokes the
' MyTestCommand function
SendKeys "^Q"
End Sub
忍受,我的意思是享受
试试这个:
Sub Button1_OnClick()
Application.Run("MyTestCommand")
End Sub
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.