Пошаговое руководство. Создание первой надстройки VSTO для Excel

В этом вводном пошаговом руководстве показано, как создавать надстройки уровня приложения для Microsoft Office Excel. Функции, создаваемые в подобном решении, доступны для приложения независимо от того, какие книги открыты.

Область применения. Сведения в этом разделе относятся к проектам надстроек VSTO для Excel. Дополнительные сведения см. в разделе "Функции", доступные по Приложение Office ликации и типу проекта.

Примечание.

Заинтересованы в разработке решений, которые расширяют возможности Office на нескольких платформах? Ознакомьтесь с новой моделью надстроек Office. Надстройки Office имеют небольшое пространство по сравнению с надстройками и решениями VSTO, и вы можете создавать их практически с помощью любой технологии веб-программирования, таких как HTML5, JavaScript, CSS3 и XML.

В этом пошаговом руководстве рассматриваются следующие задачи:

  • Создание проекта надстройки VSTO Excel для Excel.

  • Написание кода с использованием объектной модели Excel, которая при сохранении книги добавляет в нее текст.

  • Построение и запуск проекта для тестирования.

  • Удаление завершенного проекта для прекращения автоматического запуска надстройки VSTO на компьютере разработчика.

    Примечание.

    Отображаемые на компьютере имена или расположения некоторых элементов пользовательского интерфейса Visual Studio могут отличаться от указанных в следующих инструкциях. Это зависит от имеющегося выпуска Visual Studio и используемых параметров. Дополнительные сведения см. в разделе Персонализация среды IDE.

Необходимые компоненты

Для выполнения этого пошагового руководства требуются следующие компоненты:

Создание проекта

Создание проекта надстройки VSTO Excel в Visual Studio

  1. Запустите среду Visual Studio.

  2. В меню Файл укажите Создать, затем нажмите Проект.

  3. В области шаблонов разверните узел Visual C# или Visual Basic, а затем узел Office/SharePoint.

  4. В развернутом узле Office/SharePoint выберите узел Надстройки Office .

  5. В списке шаблонов проектов выберите Надстройку Excel 2010 или Надстройку Excel 2013.

  6. В поле Имя введите FirstExcelAddIn.

  7. Щелкните OK.

    Visual Studio создает проект FirstExcelAddIn и открывает файл кода ThisAddIn в редакторе.

Написание кода для добавления текста в сохраненную книгу

Добавьте код в файл кода ThisAddIn. Новый код использует объектную модель Excel для вставки стандартного текста в первую строку активного листа. Активным является лист, открытый в момент сохранения книги пользователем. По умолчанию файл кода ThisAddIn содержит следующий созданный код:

  • Частичное определение класса ThisAddIn . Этот класс предоставляет точку входа для кода и обеспечивает доступ к объектной модели Excel. Дополнительные сведения см. в разделе "Надстройки VSTO программы". Оставшаяся часть ThisAddIn класса определена в скрытом файле кода, который не следует изменять.

  • Обработчики событий ThisAddIn_Startup и ThisAddIn_Shutdown . Эти обработчики событий вызываются, когда Excel загружает и выгружает надстройку VSTO. Их можно использовать для инициализации надстройки VSTO в процессе ее загрузки, а также для освобождения используемых надбавкой ресурсов при ее выгрузке. Дополнительные сведения см. в разделе "События" в проектах Office.

Добавление строки текста в сохраненную книгу

  1. В файл кода ThisAddIn добавьте в класс ThisAddIn указанный ниже код. Новый код определяет обработчик событий для события WorkbookBeforeSave , которое возникает при сохранении книги.

    Когда пользователь сохраняет книгу, обработчик событий добавляет новый текст в начало активного листа.

    void Application_WorkbookBeforeSave(Microsoft.Office.Interop.Excel.Workbook Wb, bool SaveAsUI, ref bool Cancel)
    {
        Excel.Worksheet activeWorksheet = ((Excel.Worksheet)Application.ActiveSheet);
        Excel.Range firstRow = activeWorksheet.get_Range("A1");
        firstRow.EntireRow.Insert(Excel.XlInsertShiftDirection.xlShiftDown);
        Excel.Range newFirstRow = activeWorksheet.get_Range("A1");
        newFirstRow.Value2 = "This text was added by using code";
    }
    
  2. Если используется C#, добавьте в обработчик событий ThisAddIn_Startup указанный ниже код. Он используется для подключения обработчика событий Application_WorkbookBeforeSave к событию WorkbookBeforeSave .

    this.Application.WorkbookBeforeSave += new Microsoft.Office.Interop.Excel.AppEvents_WorkbookBeforeSaveEventHandler(Application_WorkbookBeforeSave);
    

    Для изменения книги при ее сохранении в приведенных выше примерах кода используются следующие объекты:

  • Поле Application класса ThisAddIn . Поле Application возвращает объект Application , который представляет текущий экземпляр Excel.

  • Параметр Wb обработчика событий для события WorkbookBeforeSave . Параметр Wb является объектом Workbook , который представляет сохраняемую книгу. Дополнительные сведения см. в обзоре объектной модели Excel.

Тестирование проекта

Тестирование проекта

  1. Нажмите клавишу F5 для построения и запуска проекта.

    При построении проекта код компилируется в сборку, которая включается в выходную папку сборки для проекта. Visual Studio также создает ряд записей реестра, которые позволяют Excel обнаружить и загрузить надстройку VSTO, и настраивает параметры безопасности на компьютере разработчика, разрешая запуск надстройки VSTO. Дополнительные сведения см. в статье "Сборка решений Office".

  2. Сохраните книгу в Excel.

  3. Убедитесь, что в книгу добавляется указанный ниже текст.

    Этот текст добавляется с помощью кода.

  4. Закройте Excel.

Очистка проекта

Завершив разработку проекта, удалите с компьютера сборку надстройки VSTO, записи реестра и параметры безопасности. В противном случае надстройка VSTO будет запускаться при каждом открытии программы Excel на компьютере разработчика.

Очистка завершенного проекта на компьютере разработчика

  1. В Visual Studio в меню Построение выберите пункт Очистить решение.

Следующие шаги

Теперь, когда вы создали базовую надстройку VSTO для Excel, изучите более подробную информацию о разработке надстроек VSTO в следующих разделах.

  • Общие задачи программирования, которые можно выполнять в надстройках VSTO: программа надстроек VSTO.

  • Задачи программирования, относящиеся к надстройкам VSTO Для Excel: решения Excel.

  • Использование объектной модели Excel: обзор объектной модели Excel.

  • Настройка пользовательского интерфейса (пользовательского интерфейса) Excel, например путем добавления настраиваемой вкладки на ленту или создания собственной настраиваемой области задач: настройка пользовательского интерфейса Office.

  • Создание и отладка надстроек VSTO для Excel: создание решений Office.

  • Развертывание надстроек VSTO для Excel: развертывание решения Office.