mco*_*eth 9 .net c# vsto excel-interop
使用VSTO或某些相关技术,是否可以以编程方式在Excel工作表的单元格中嵌入按钮,并将其配置为在单击时调用C#函数?
怎么样?
谢谢.
Mat*_*ias 10
通过VSTO文档自定义(即附带.Net代码的工作簿),您可以在运行时向项目的工作表添加和删除控件.以下代码说明了这个想法:
public partial class Sheet1
{
private void Sheet1_Startup(object sender, System.EventArgs e)
{
var button = this.Controls.AddButton(10, 10, 50, 50, "My Button");
button.Text = "My Button";
button.Click += new EventHandler(button_Click);
}
void button_Click(object sender, EventArgs e)
{
MessageBox.Show("I was clicked!");
}
Run Code Online (Sandbox Code Playgroud)
您还可以通过VSTO加载项动态地向文档添加控件,使用这些代码中的代码(感谢VSTO论坛上的人员):
var workSheet = (Excel.Worksheet) sheet;
var vstoSheet = workSheet.GetVstoObject();
var button = vstoSheet.Controls.AddButton(50, 50, 100, 50, "Test");
button.Text = "Dynamic Button!";
Run Code Online (Sandbox Code Playgroud)
查看Eric Carter的这篇文章了解更多信息.