如何使用VSTO 2010 for Excel按名称显示工作表

Mik*_*e B 6 c# excel vsto

我从未使用过VSTO,我发现很难找到2010年的学习辅助工具.

我的需求很简单,我有一个包含42个工作表的业务工作簿(我原先猜测了20个,但在计数后发现了一个令人惊讶的数字).我想使用VSTO添加功能区(这部分很简单),以便员工轻松浏览大量页面.我似乎无法找到c#代码来显示我可以简单地添加到按钮的单击事件的特定工作表(最好是通过名称).

谢谢

Ric*_*ook 10

Activate在工作表对象(类型Microsoft.Office.Tools.Excel.Worksheet)上调用该方法.

您可以在ThisWorkbook班级内通过姓名或通过Globals.ThisWorkbook以下方式进行此操作:

private Excel.Worksheet GetWorksheetByName(string name)
{
  foreach (Excel.Worksheet worksheet in this.Worksheets)
  {
    if (worksheet.Name == name)
    {
      return worksheet;
    }
  }
  throw new ArgumentException();
}

private void ActivateWorksheetByName(string name)
{
  GetWorksheetByName(name).Activate();
}
Run Code Online (Sandbox Code Playgroud)

调用ActivateWorksheetByName并传递要显示的工作表的名称.

  • 您可以通过`Globals`类将其作为`Globals.ThisWorkbook`访问它. (2认同)