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;
}
}
希望对您有所帮助
我创建了一个自定义任务窗格,上面有一些输入。输入之一是文本框。
我想要做的是单击文本框,然后拖动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;
}
}
希望对您有所帮助