Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Каждый шаблон проекта Office автоматически создает несколько обработчиков событий. Обработчики событий для настроек на уровне документа несколько отличаются от обработчиков событий для надстроек VSTO.
Область применения. Сведения в этом разделе относятся к проектам уровня документа и проектам надстроек VSTO. См. сведения о функциях, доступных по Приложение Office и типу проекта.
Проекты уровня документа
Visual Studio предоставляет сформированный код для новых или существующих документов или листов в настройках на уровне документа. Этот код создает два различных события: Startup и Shutdown.
Startup - событие
Событие 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
. В Microsoft Word аргумент sender ссылается на документ. Аргумент e ссылается на стандартные аргументы для события, которые не используются в этом случае.
В следующем примере кода показаны обработчики событий по умолчанию в проектах на уровне документа для Word.
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 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
.Другие листы по порядку.
Порядок определяется при компиляции проекта. Если пользователь изменяет порядок листов во время выполнения, это не приводит к изменению порядка, в котором появляются события при очередном открытии или закрытии книги.
Проекты надстроек VSTO
Visual Studio предоставляет созданный код в надстройках VSTO. Этот код вызывает два разных события: Startup и Shutdown.
Startup - событие
Событие Startup возникает после загрузки надстройки VSTO и запуска всего кода инициализации в сборке. Это событие обрабатывается методом ThisAddIn_Startup
в файле сформированного кода.
Код в обработчике событий ThisAddIn_Startup
— это первый код пользователя, подлежащий выполнению, если надстройка VSTO не переопределяет метод RequestComAddInAutomationService . В этом случае обработчик событий ThisAddIn_Startup
вызывается после RequestComAddInAutomationService.
Не добавляйте код в ThisAdd-In_Startup
обработчик событий, если коду требуется открыть документ. Вместо этого добавьте код в событие, которое приложение Office генерирует, когда пользователь создает или открывает документ. Дополнительные сведения см. в разделе "Доступ к документу" при запуске Приложение Office ликации.
Дополнительные сведения о последовательности запуска надстроек VSTO см. в разделе "Архитектура надстроек VSTO".
Shutdown - событие
Событие Shutdown возникает, когда домен приложения, в котором загружен ваш код, готов к выгрузке. Это событие обрабатывается методом ThisAddIn_Shutdown
в файле сформированного кода. Этот обработчик событий — последний код пользователя, выполняемый при выгрузке надстройки VSTO.
Событие завершения работы надстроек OUTLOOK VSTO
Событие Shutdown возникает только в том случае, когда пользователь отключает надстройку VSTO с помощью диалогового окна надстроек COM в Outlook. Оно не возникает при завершении работы Outlook. Если у вас есть код, который должен выполняться при завершении работы Outlook, обработайте одно из следующих событий:
Событие Quit объекта Application .
Примечание.
Чтобы Outlook принудительно создавал событие Shutdown при выходе, можно изменить реестр. Однако, если администратор отменяет эту настройку, любой код, добавленный в метод ThisAddIn_Shutdown
, больше не будет выполняться при завершении работы Outlook. Дополнительные сведения см. в разделе "Завершение работы" для Outlook 2010.