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

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

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

Замечание

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

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

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

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

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

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

    Замечание

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

Предпосылки

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

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

Чтобы создать новый проект надстройки 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. Нажмите кнопку ОК.

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

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

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

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

  • Обработчики событий ThisAddIn_Startup и ThisAddIn_Shutdown. Эти обработчики событий вызываются при загрузке и выгрузке надстройки VSTO для Excel. Используйте эти обработчики событий для инициализации надстройки 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 из следующих разделов: