如何从办公室功能区控件中获取选定的单元格

时间:2012-08-10 20:53:36

标签: c# vsto excel-2010

我想从功能区控件中获取活动范围。只有在功能区上的控件需要时才能访问所选单元格。

目前这就是我的做法;

public partial class ThisAddin
{
    private void SheetSelectionChange(object sh, Range target)
    {
        int count = target.Count;

            if (count < 5000) // This is for performance reasons 
            {
                //Set a custom range property in the office ribbon
                Req_Tool.ActiveRange = target; 
            {
    }
}

我觉得这很虚弱和浪费 首先,每次选择更改我的代码都会运行。 其次,我使用或不使用两个选择副本。

必须有一个更好的方法来做到这一点,我忽略了。

1 个答案:

答案 0 :(得分:3)

您可以通过访问Selection对象的Application属性来访问活动工作表中当前选定的范围。

private void button1_Click(object sender, RibbonControlEventArgs e)
{
    this.ActiveRange = (Excel.Range)Globals.ThisAddIn.Application.Selection;
}

MSDN文档: