3

我想从功能区控件中获取活动范围。只有当功能区上的控件需要它时,才应该有一种方法可以访问选定的单元格。

目前这就是我的做法;

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; 
            {
    }
}

我觉得这是软弱和浪费。
首先,每次选择更改我的代码都会运行。其次,我有两份选择的副本,无论是否使用。

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

4

1 回答 1

6

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

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

MSDN 文档:

于 2012-08-10T22:00:47.260 回答