События в проектах Office
Каждый шаблон проекта Office автоматически генерирует несколько обработчиков событий.Обработчики событий для настроек уровня документа несколько отличаются от обработчиков событий для надстроек уровня приложений.
Применение. Сведения этого раздела применяются к проектам уровня документа и уровня приложения для Office 2013 и Office 2010. См. раздел Доступность функций по типам приложений Office и проектов.
Проекты уровня документа
Visual Studio представляет генерируемый код для новых или существующих документов или листов настроек уровня документа.В этом коде возникают два различных события: Startup и Shutdown.
Загружаемое событие
Событие Startup возникает для каждого ведущего элемента (документ, книга или лист) после запуска документа и всех кодов инициализации в сборке.Это последний объект, который выполняется в конструкторе класса, в котором выполняется код пользователя.Дополнительные сведения о ведущих элементах см. в разделе Общие сведения о ведущих элементах и элементах управления ведущего приложения.
При создании проекта уровня документа Visual Studio создает обработчики для события Startup в созданных файлах кода:
Для проектов Microsoft Office Word обработчик событий называется ThisDocument_Startup.
Для проектов Microsoft Office Excel обработчики событий имеют следующие имена:
Sheet1_Startup
Sheet2_Startup
Sheet3_Startup
ThisWorkbook_Startup
Событие 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. |
Обработчик событий объявлений методов
Каждое объявление метода обработчика событий имеет те же самые передаваемые ему аргументы: 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)
{
}
Последовательность событий в проектах Excel уровня документа
Обработчик событий Startup в проектах Excel вызывается в следующем порядке:
ThisWorkbook_Startup.
Sheet1_Startup.
Sheet2_Startup.
Sheet3_Startup.
Другие листы по порядку.
Событие Shutdown вызывает обработчики в решении книги в следующем порядке.
ThisWorkbook_Shutdown.
Sheet1_Shutdown.
Sheet2_Shutdown.
Sheet3_Shutdown.
Другие листы по порядку.
Порядок определяется при компиляции проекта.Если пользователь изменит порядок следования листов во время выполнения, порядок вызова событий в начале или завершении очередного рабочего сеанса с книгой останется прежним.
Проекты уровня приложения
Visual Studio предоставляет генерируемый код в надстройках уровня приложения для Outlook.В этом коде возникают два различных события: Startup и Shutdown.
Загружаемое событие
Событие Startup возникает при загрузке надстройки после выполнения всего кода инициализации сборки.Это событие обрабатывается методом ThisAddIn_Startup, генерируемым в файле с кодом.
Код в обработчике событий ThisAddIn_Startup — это код первого пользователя, который следует выполнять, пока надстройка переопределяет метод RequestComAddInAutomationService.В этом случае ThisAddIn_Startup обработчик событий вызывается после RequestComAddInAutomationService.
Не добавляйте код в обработчике событий ThisAdd-In_Startup если код требует документ будет открыт.Вместо этого добавьте этот код к событию, приложение office возникает, когда пользователь создает или открывает документ.Дополнительные сведения см. в разделе Доступ к документу при запуске приложения office.
Дополнительные сведения о последовательности запуска надстроек см. в разделе Архитектура надстроек уровня приложения.
Событие Shutdown
Событие Shutdown возникает, когда домен приложения, загруженного в вашем коде, собирается выполнять выгрузку.Это событие обрабатывается методом ThisAddIn_Shutdown, генерируемым в файле с кодом.Этот обработчик событий — это последний код пользователя, который требуется выполнить при выгрузке надстройки.
Завершение работы событие в Добавить- ins outlook
Это событие вызывается, только если пользователь Shutdown отключение надстройки с помощью диалогового окна Добавить- ins модель COM в outlook.Это событие не вызывается при завершении работы Outlook.При наличии кода, который должен выполняться при завершении работы Outlook, необходимо обработать одно из следующих событий.
Событие Quit объекта Application.
Примечание |
---|
Можно настроить принудительное создание события Shutdown в Outlook при завершении работы, внеся соответствующие изменения в реестр.Однако если администратор отменит эту настройку, никакой код, добавленный в метод ThisAddIn_Shutdown, не будет выполняться при завершении работы Outlook.Дополнительные сведения см. в разделе Изменения завершения работы Outlook 2010. |
См. также
Задачи
Практическое руководство. Создание проектов Office в Visual Studio
Другие ресурсы
Настройки программирования уровня документа