C# 如何使用ExcelDna中的ExcelCommand
我有一个简单的命令:C# 如何使用ExcelDna中的ExcelCommand,c#,excel,vba,excel-addins,excel-dna,C#,Excel,Vba,Excel Addins,Excel Dna,我有一个简单的命令: [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.Value
[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”
客户机不需要快捷方式,他需要一个用户界面按钮(在Ribbon中或在sheet body中,无所谓)
使用VBA,我可以编写:
Sub Button1_OnClick()
MyTestCommand
End Sub
但是调用MyTestCommand
不起作用
如何调用我创建的命令?如果为
ExcelCommand
的MenuText
成员设置一个值,它将通过加载项
功能区自动变为可用
如果您想更多地控制命令的外观,那么可以使用自己的按钮、图标等创建自己的
CustomUI
。使用VBA古怪的SendKeys功能,您可以使用一个非常可怕的frig。这样就可以在不使用功能区的情况下工作,并且可以在工作表上使用标准按钮
好的,往后站,遮住眼睛:)
忍受,我是说享受试试这个:
Sub Button1_OnClick()
Application.Run("MyTestCommand")
End Sub
不错(+1)。但半测量(不能标记为正确)。
Sub Button1_Click()
' this short cut invokes the
' MyTestCommand function
SendKeys "^Q"
End Sub
Sub Button1_OnClick()
Application.Run("MyTestCommand")
End Sub