VSTO 获取 Excel 范围并放入文本框

VSTO Get Excel Range and put in Textbox

我创建了一个自定义任务窗格,上面有一些输入。输入之一是文本框。

我想要做的是单击文本框,然后拖动select 一系列单元格并将范围设置为文本框。

例如,“条件格式”对话框 window 具有此功能。

如果我从自定义任务窗格更改为 Excel,我应该使用什么事件?

在您的无模式表单中,只需将事件处理程序添加到 WorkSheet.SelectionChanged 事件。

像这样:

public partial class Form1 : Form
{
    Microsoft.Office.Interop.Excel.Worksheet ws;

    public Form1()
    {
        InitializeComponent();
    }

    protected override void OnLoad(EventArgs e)
    {
        base.OnLoad(e);
        ws = Globals.ThisAddIn.Application.ActiveSheet;
        ws.SelectionChange += ws_SelectionChange;            

    }

    void ws_SelectionChange(Microsoft.Office.Interop.Excel.Range Target)
    {
        this.textBox1.Text = Target.Address; 
    }

    protected override void OnClosed(EventArgs e)
    {
        base.OnClosed(e);
        ws.SelectionChange -= ws_SelectionChange;
    }

}

希望对您有所帮助