Как отобразить лист по имени, используя VSTO 2010 для Excel - PullRequest
6 голосов
/ 28 сентября 2010

Я никогда не пользовался VSTO, и мне трудно найти хорошее учебное пособие на 2010 год.

Моя потребность проста, у меня есть рабочая тетрадь с 42 листами (я угадал 20, но после подсчета нашел удивительное число) Я хочу добавить ленту (эта часть проста), используя VSTO, чтобы сотрудники могли легко перемещаться по большому количеству страниц. Кажется, я не могу найти код c # для отображения определенного рабочего листа (предпочтительно по имени), который я могу просто добавить к событию нажатия кнопок.

Спасибо

1 Ответ

10 голосов
/ 28 сентября 2010

Вызовите метод 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();
}

Позвоните на номер ActivateWorksheetByName и передайте имя рабочего листа для отображения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...