Eventos em projetos do Office

Cada modelo de projeto do Office automaticamente gera vários manipuladores de eventos. Os manipuladores de eventos para personalizações em nível de documento são um pouco diferentes de manipuladores de eventos para suplementos de nível de aplicativo.

Aplicável a: As informações neste tópico se aplicam a projetos de nível de documento e projetos de nível de aplicativo para Microsoft Office 2010 e o sistema 2007 do Microsoft Office. Para obter mais informações, consulte Recursos disponíveis pelo aplicativo do Office e o tipo de projeto.

Projetos de nível de documento

Visual Studio fornece o código gerado por trás de documentos novos ou existentes ou planilhas em personalizações em nível de documento. Este código lança dois eventos diferentes: Startup and Shutdown.

Evento Startup

O Startup evento é gerado para cada um dos itens de host (documento, pasta de trabalho ou planilha) depois que o documento está em execução e todo o código de inicialização no assembly foi executar. It is the last thing to run in the constructor of the class that your code is running in. Para obter mais informações sobre itens de host, consulte Itens de host e a visão geral sobre controles de Host.

Quando você cria um projeto de nível de documento, o Visual Studio cria manipuladores de eventos para o Startup eventos nos arquivos de código gerado:

  • Para projetos do Word de Microsoft Office, o manipulador de eventos é chamado de ThisDocument_Startup.

  • Para projetos do Excel de Microsoft Office, os manipuladores de eventos têm os seguintes nomes:

    • Sheet1_Startup

    • Sheet2_Startup

    • Sheet3_Startup

    • ThisWorkbook_Startup

Eventos de desligamento

O Shutdown evento é gerado para cada um dos itens de host (documento ou planilha) quando o que seu código é carregado no domínio do aplicativo está prestes a descarregar. It is the last thing to be called in the class as it unloads.

Quando você cria um projeto de nível de documento, o Visual Studio cria manipuladores de eventos para o Shutdown eventos nos arquivos de código gerado:

  • Para projetos do Word de Microsoft Office, o manipulador de eventos é chamado de ThisDocument_Shutdown.

  • Para projetos do Excel de Microsoft Office, os manipuladores de eventos têm os seguintes nomes:

    • Sheet1_Shutdown

    • Sheet2_Shutdown

    • Sheet3_Shutdown

    • ThisWorkbook_Shutdown

ObservaçãoObservação

Não remover programaticamente controles durante o Shutdown o manipulador de eventos do documento. Os elementos da interface do documento não estão mais disponíveis quando o Shutdown evento ocorre. Se você quiser remover os controles antes do aplicativo é fechado, adicione seu código ao manipulador de eventos de outro, como BeforeClose ou BeforeSave.

Declarações de método do manipulador de eventos

Cada declaração de método do manipulador de eventos tem os mesmos argumentos passados para ele: sender and e. No Excel, o sender argumento refere-se à planilha, como Sheet1 ou Sheet2; no Word, o sender argumento refere-se para o documento. O e argumento refere-se os argumentos padrão para um evento, que não são usados neste caso.

O exemplo de código a seguir mostra os manipuladores de eventos padrão em projetos de nível de documento do 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)
{
}

O exemplo de código a seguir mostra os manipuladores de eventos padrão em projetos de nível de documento do Excel.

ObservaçãoObservação

O exemplo de código a seguir mostra os manipuladores de eventos na Sheet1 classe. Os nomes dos manipuladores de eventos em outras classes de item de host correspondem ao nome da classe. Por exemplo, na Sheet2 classe, o Startup o manipulador de evento é chamado Sheet2_Startup. No ThisWorkbook classe, o Startup o manipulador de evento é chamado 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)
{
}

Ordem de eventos em projetos de Excel do nível do documento

O Startup são chamados de manipuladores de eventos em projetos do Excel nesta ordem:

  1. ThisWorkbook_Startup.

  2. Sheet1_Startup.

  3. Sheet2_Startup.

  4. Sheet3_Startup.

  5. Outras planilhas na ordem.

O Shutdown são chamados de manipuladores de eventos em uma solução de pasta de trabalho nesta ordem:

  1. ThisWorkbook_Shutdown.

  2. Sheet1_Shutdown.

  3. Sheet2_Shutdown.

  4. Sheet3_Shutdown.

  5. Outras planilhas na ordem.

A ordem é determinada quando o projeto é compilado. Se o usuário reorganiza as planilhas em tempo de execução, ela não altera a ordem em que os eventos são disparados na próxima vez em que a pasta de trabalho é aberta ou fechada.

Projetos de nível de aplicativo

Visual Studio fornece o código gerado nos suplementos de nível de aplicativo. Este código lança dois eventos diferentes: Startup and Shutdown.

Evento Startup

O Startup evento é gerado depois que o suplemento é carregado e todo o código de inicialização no assembly foi executar. Este evento é tratado pelo ThisAddIn_Startup método no arquivo de código gerado.

Código de ThisAddIn_Startup manipulador de eventos é o primeiro código de usuário para executar, a menos que seu suplemento substitui o RequestComAddInAutomationService método. Nesse caso, o ThisAddIn_Startup o manipulador de evento é chamado após RequestComAddInAutomationService. Em add-ins para o sistema de Microsoft Office de 2007, o código no ThisAddIn_Startup manipulador de eventos também pode ser chamado após a RequestService método, se o seu suplemento substitui esse método.

Para obter mais informações sobre a seqüência de inicialização dos suplementos, consulte Arquitetura dos suplementos de nível de aplicativo.

Eventos de desligamento

O Shutdown evento é gerado quando o domínio de aplicativo, seu código é carregado no está prestes a ser descarregado. Este evento é tratado pelo ThisAddIn_Shutdown método no arquivo de código gerado. O manipulador de eventos é o último código de usuário para executar quando o suplemento é descarregado.

Eventos de desligamento no Outlook 2010 suplementos

Para suplementos que são carregados no Outlook 2010, o Shutdown evento é gerado somente quando o usuário desativa o add-in usando a caixa de diálogo suplementos COM no Outlook. Ele não é disparado quando o Outlook é fechado. Se você tiver o código deve ser executado quando o Outlook é fechado, lidar com qualquer um dos seguintes eventos:

ObservaçãoObservação

Você pode forçar o Outlook para elevar o Shutdown evento quando ele sai modificando o registro. No entanto, se um administrador reverte essa configuração, qualquer código que você adicione a ThisAddIn_Shutdown método não é executada quando sai do Outlook. Para obter mais informações, consulte Alterações de desligamento para o Outlook 2010.

Consulte também

Tarefas

Como: Criar projetos do Office em Visual Studio

Outros recursos

Desenvolvimento de soluções do Office

Programação personalizações em nível de documento

Os suplementos de nível de aplicativo de programação.

Visão geral sobre modelos de projeto do Office