Добавление кнопок к электронным таблицам в.NET (VSTO)

Используя VSTO или некоторую связанную технологию, действительно ли возможно программно встроить кнопку в ячейку рабочего листа Excel и настроить его для вызывания функции C#, когда это нажато?

Как?

Спасибо.

9
задан mcoolbeth 15 June 2010 в 03:19
поделиться

1 ответ

С помощью настройки документа 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!");
     }

Вы также можете динамически добавлять элементы управления в документы через надстройку 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!";

Проверьте этот пост Эрика Картера для получения дополнительной информации.

10
ответ дан 3 November 2019 в 00:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: