Поделиться через


События в проектах Office

Каждый шаблон проекта Office автоматически генерирует несколько обработчиков событий.Обработчики событий для настроек уровня документа несколько отличаются от обработчиков событий для надстроек уровня приложений.

Применение. Сведения этого раздела применяются к проектам уровня документа и уровня приложения для Office 2013 и Office 2010. См. раздел Доступность функций по типам приложений Office и проектов.

Проекты уровня документа

Visual Studio представляет генерируемый код для новых или существующих документов или листов настроек уровня документа.В этом коде возникают два различных события: Startup и Shutdown.

7xy91eax.collapse_all(ru-ru,VS.110).gifЗагружаемое событие

Событие Startup возникает для каждого ведущего элемента (документ, книга или лист) после запуска документа и всех кодов инициализации в сборке.Это последний объект, который выполняется в конструкторе класса, в котором выполняется код пользователя.Дополнительные сведения о ведущих элементах см. в разделе Общие сведения о ведущих элементах и элементах управления ведущего приложения.

При создании проекта уровня документа Visual Studio создает обработчики для события Startup в созданных файлах кода:

  • Для проектов Microsoft Office Word обработчик событий называется ThisDocument_Startup.

  • Для проектов Microsoft Office Excel обработчики событий имеют следующие имена:

    • Sheet1_Startup

    • Sheet2_Startup

    • Sheet3_Startup

    • ThisWorkbook_Startup

7xy91eax.collapse_all(ru-ru,VS.110).gifСобытие Shutdown

Событие Shutdown возникает для каждого ведущего элемента (документ или лист), когда домен приложения, загруженный в вашем коде, собирается выполнять выгрузку.Это последний элемент для вызова в классе при выгрузке этого класса.

При создании проекта уровня документа Visual Studio создает обработчики для события Shutdown в созданных файлах кода:

  • Для проектов Microsoft Office Word обработчик событий называется ThisDocument_Shutdown.

  • Для проектов Microsoft Office Excel обработчики событий имеют следующие имена:

    • Sheet1_Shutdown

    • Sheet2_Shutdown

    • Sheet3_Shutdown

    • ThisWorkbook_Shutdown

ПримечаниеПримечание

Не удаляйте элементы управления программными средствами во время работы обработчика событий Shutdown документа.При возникновении события Shutdown элементы пользовательского интерфейса документа становятся недоступными.Если необходимо удалить элементы управления до закрытия приложения, добавьте свой код в другой обработчик событий, в такой как BeforeClose или BeforeSave.

7xy91eax.collapse_all(ru-ru,VS.110).gifОбработчик событий объявлений методов

Каждое объявление метода обработчика событий имеет те же самые передаваемые ему аргументы: sender и e.В Excel аргумент sender ссылается на лист, например Sheet1 или Sheet2; в Word аргумент sender ссылается на документ.Аргумент e ссылается на стандартные аргументы для события, которые не используются в этом случае.

В приведенном ниже примере кода показаны обработчики событий по умолчанию в проектах уровня документа для Word.

Private Sub ThisDocument_Startup(ByVal sender As Object, ByVal e As System.EventArgs) _
    Handles Me.Startup

End Sub

Private Sub ThisDocument_Shutdown(ByVal sender As Object, ByVal e As System.EventArgs) _
    Handles Me.Shutdown

End Sub
private void ThisDocument_Startup(object sender, System.EventArgs e)
{
}

private void ThisDocument_Shutdown(object sender, System.EventArgs e)
{
}

В приведенном ниже примере кода показаны обработчики событий по умолчанию в проектах уровня документа для Excel.

ПримечаниеПримечание

В следующем примере кода показываются обработчики событий в классе Sheet1.Имена обработчиков событий в других классах ведущих элементов соответствуют имени класса.Например, в классе Sheet2 обработчик событий Startup имеет имя Sheet2_Startup.В классе ThisWorkbook обработчик событий Startup имеет имя ThisWorkbook_Startup.

Private Sub Sheet1_Startup(ByVal sender As Object, ByVal e As System.EventArgs) _
    Handles Me.Startup

End Sub

Private Sub Sheet1_Shutdown(ByVal sender As Object, ByVal e As System.EventArgs) _
    Handles Me.Shutdown

End Sub
private void Sheet1_Startup(object sender, System.EventArgs e)
{
}

private void Sheet1_Shutdown(object sender, System.EventArgs e)
{
}

7xy91eax.collapse_all(ru-ru,VS.110).gifПоследовательность событий в проектах Excel уровня документа

Обработчик событий Startup в проектах Excel вызывается в следующем порядке:

  1. ThisWorkbook_Startup.

  2. Sheet1_Startup.

  3. Sheet2_Startup.

  4. Sheet3_Startup.

  5. Другие листы по порядку.

Событие Shutdown вызывает обработчики в решении книги в следующем порядке.

  1. ThisWorkbook_Shutdown.

  2. Sheet1_Shutdown.

  3. Sheet2_Shutdown.

  4. Sheet3_Shutdown.

  5. Другие листы по порядку.

Порядок определяется при компиляции проекта.Если пользователь изменит порядок следования листов во время выполнения, порядок вызова событий в начале или завершении очередного рабочего сеанса с книгой останется прежним.

Проекты уровня приложения

Visual Studio предоставляет генерируемый код в надстройках уровня приложения для Outlook.В этом коде возникают два различных события: Startup и Shutdown.

7xy91eax.collapse_all(ru-ru,VS.110).gifЗагружаемое событие

Событие Startup возникает при загрузке надстройки после выполнения всего кода инициализации сборки.Это событие обрабатывается методом ThisAddIn_Startup, генерируемым в файле с кодом.

Код в обработчике событий ThisAddIn_Startup — это код первого пользователя, который следует выполнять, пока надстройка переопределяет метод RequestComAddInAutomationService.В этом случае ThisAddIn_Startup обработчик событий вызывается после RequestComAddInAutomationService.

Не добавляйте код в обработчике событий ThisAdd-In_Startup если код требует документ будет открыт.Вместо этого добавьте этот код к событию, приложение office возникает, когда пользователь создает или открывает документ.Дополнительные сведения см. в разделе Доступ к документу при запуске приложения office.

Дополнительные сведения о последовательности запуска надстроек см. в разделе Архитектура надстроек уровня приложения.

7xy91eax.collapse_all(ru-ru,VS.110).gifСобытие Shutdown

Событие Shutdown возникает, когда домен приложения, загруженного в вашем коде, собирается выполнять выгрузку.Это событие обрабатывается методом ThisAddIn_Shutdown, генерируемым в файле с кодом.Этот обработчик событий — это последний код пользователя, который требуется выполнить при выгрузке надстройки.

7xy91eax.collapse_all(ru-ru,VS.110).gifЗавершение работы событие в Добавить- ins outlook

Это событие вызывается, только если пользователь Shutdown отключение надстройки с помощью диалогового окна Добавить- ins модель COM в outlook.Это событие не вызывается при завершении работы Outlook.При наличии кода, который должен выполняться при завершении работы Outlook, необходимо обработать одно из следующих событий.

ПримечаниеПримечание

Можно настроить принудительное создание события Shutdown в Outlook при завершении работы, внеся соответствующие изменения в реестр.Однако если администратор отменит эту настройку, никакой код, добавленный в метод ThisAddIn_Shutdown, не будет выполняться при завершении работы Outlook.Дополнительные сведения см. в разделе Изменения завершения работы Outlook 2010.

См. также

Задачи

Практическое руководство. Создание проектов Office в Visual Studio

Другие ресурсы

Разработка решений Office

Настройки программирования уровня документа

Программирование надстроек уровня приложения

Общие сведения о шаблонах проектов Office