Compartilhar via


Gerenciamento de painéis de tarefas Personalizars em Múltiplo aplicativos Windows

Se aplica a

As informações contidas neste tópico se aplicam apenas às especificado Ferramentas do Visual Studio para o Office projetos e aplicativos do Microsoft Office.

Tipo de Projeto

  • Projetos de nível de aplicativo

Aplicativo do Microsoft Office

  • O Excel 2007

  • InfoPath 2007

  • Outlook 2007

  • PowerPoint 2007

  • Word 2007

For more information, see Recursos disponíveis pelo aplicativo e o tipo de projeto.

Quando você criar um painel de tarefas Personalizar em um aplicativo que usa Múltiplo janelas para exibir documentos e outros itens, você precisará tomar etapas adicionais para garantir que o painel de tarefas seja visível quando o usuário espera que ele seja.

Painéis de tarefas Personalizars em Tudo aplicativos associados a uma janela de quadro do documento, que apresenta um Exibir de um documento ou item para o usuário.O painel de tarefas fica visível somente quando a janela associada está visível.No entanto, nem Tudo aplicativos usar janelas de quadro de documentos da mesma maneira.

Os seguintes grupos de aplicativo têm requisitos de desenvolvimento diferentes:

  • Outlook

  • Word and InfoPath (em inglês)

  • Excel e PowerPoint

Outlook

Quando você Criar um painel de tarefas Personalizar para o Outlook, o painel de tarefas Personalizar está associado a uma janela de Explorer ou Inspector específica.Explorers são janelas que Exibir o conteúdo de uma pasta e Inspectors é janelas que Exibir um item como uma mensagem de email ou uma tarefa.

Se você deseja exibir um painel de tarefas Personalizar com janelas de Explorer ou Inspector Múltiplo, você precisará criar uma Novo instância do painel de tarefas Personalizar quando abre uma janela do Explorer ou Inspector.Para fazer isso, manipular um evento que é aumentado quando uma janela Explorer ou Inspector é criada e, em seguida, criar o painel de tarefas no manipulador de eventos.Você também pode tratar de eventos Explorer e Inspector para ocultar ou exibir painéis de tarefas dependendo de qual janela está visível.

Para associar o painel de tarefas com um Explorer ou Inspector específico, use o método CustomTaskPaneCollection.Add(UserControl, String, Object) para criar o painel de tarefas e passar a Explorer ou Inspector objeto para o parâmetro window.Para obter mais informações sobre a criação de painéis de tarefas Personalizars, consulte Visão geral de painéis de tarefas Personalizar.

Para um explicação passo a passo que demonstra como criar um painel de tarefas para cada mensagem de email que é aberto, consulte Demonstra Passo a passo: Exibir painéis de tarefas Personalizars com mensagens de email no Outlook.

Eventos do Outlook

Para monitorar o estado de janelas do Explorer, você pode manipular os seguintes eventos relacionados ao Explorer:

Para monitorar o estado de janelas do inspetor, você pode manipular os seguintes eventos relacionados ao inspetor:

Impedindo Múltiplo instâncias de um painel de tarefas Personalizar no Outlook

Para impedir que janelas do Outlook exibindo Múltiplo instâncias de um painel de tarefas Personalizar, explicitamente remover o painel de tarefas Personalizar da CustomTaskPanes coleção da classe ThisAddIn quando cada janela é fechada.Chame o método Remove em um evento que é aumentado quando uma janela é fechada, como ExplorerEvents_10_Event.Close ou InspectorEvents_10_Event.Close.

Se você explicitamente não remover o painel de tarefas Personalizar, janelas do Outlook podem exibir Múltiplo instâncias do painel de tarefas Personalizar.O Outlook recicla às vezes janelas e janelas recicladas mantêm referências a quaisquer painéis de tarefas Personalizar que foram anexados a elas.

Word and InfoPath (em inglês)

Word and InfoPath (em inglês) exibir cada documento em uma janela de quadro de documento diferente.Quando você Criar um painel de tarefas Personalizar para esses aplicativos, o painel de tarefas Personalizar é associado somente com um documento específico.Se o usuário abre um documento diferente, o painel de tarefas Personalizar ficará oculta até que o documento anterior esteja visível novamente.

Se você deseja exibir um painel de tarefas Personalizars com Múltiplo documentos, criar uma nova instância do painel de tarefas Personalizar quando o usuário cria um novo documento ou abre um documento existente.Para fazer isso, manipular eventos que são gerados quando um documento é criado ou aberto e, em seguida, criar o painel de tarefas nos manipuladores de eventos.Você também pode tratar de eventos de documento para ocultar ou exibir painéis de tarefas dependendo de qual documento está visível.

Para associar o painel de tarefas com uma janela de documento específico, use o método CustomTaskPaneCollection.Add(UserControl, String, Object) para criar o painel de tarefas e passar um Microsoft.Office.Interop.Word.Window (para o Word) ou Microsoft.Office.Interop.InfoPath.WindowObject (para o InfoPath) para o parâmetro window.Para obter mais informações sobre a criação de painéis de tarefas Personalizars, consulte Visão geral de painéis de tarefas Personalizar.

Eventos do Word

Para monitorar o estado de janelas de documento no Word, você pode manipular os eventos a seguir:

Eventos do InfoPath

Para monitorar o estado de janelas de documento no InfoPath, você pode manipular os eventos a seguir:

Excel e PowerPoint

Excel e PowerPoint Criar janela do quadro um documento para Tudo documentos (ou seja, para pastas de trabalho e apresentações).Quando você Criar um painel de tarefas Personalizar nesses aplicativos, o painel de tarefas está disponível para cada documento aberto no aplicativo.Nenhum trabalho extra de sua parte é necessário para garantir que o painel de tarefas é exibido para cada documento.

No entanto, dependendo de qual documento está ativo, convém para ocultar ou exibir o painel de tarefas, ou talvez queira exibir elementos de interface (UI) de usuário diferente ou dados no painel de tarefas.Para fazer isso, manipular eventos que são gerados quando um documento é criado, aberto ou ativado, e, em seguida, Atualizar o painel de tarefas nos manipuladores de eventos.

Eventos do Excel

Para monitorar o estado das pastas de trabalho no Excel, você pode manipular os eventos a seguir:

Eventos do PowerPoint

Para monitorar o estado das apresentações do PowerPoint, você pode manipular os eventos a seguir:

  • Microsoft.Office.Interop.PowerPoint.EApplication_Event.AfterNewPresentation

  • Microsoft.Office.Interop.PowerPoint.EApplication_Event.AfterPresentationOpen

  • Microsoft.Office.Interop.PowerPoint.EApplication_Event.NewPresentation

  • Microsoft.Office.Interop.PowerPoint.EApplication_Event.PresentationOpen

  • Microsoft.Office.Interop.PowerPoint.EApplication_Event.WindowActivate

  • Microsoft.Office.Interop.PowerPoint.EApplication_Event.WindowDeactivate

Exemplo

O exemplo de código a seguir demonstra como ocultar ou exibir um painel de tarefas Personalizar em um manipulador de eventos para o evento WorkbookActivate em um Excel Adicionar - in.Quando cada pasta de trabalho é ativada, o painel de tarefas só estará visível se a pasta de trabalho é denominada SalesData.xls; Caso contrário, o painel de tarefas está oculto.Para executar esse exemplo, substituir o manipulador de eventos de ThisAddIn_Startup padrão que Ferramentas do Visual Studio para o Office gera na classe ThisAddIn com o código a seguir.Este exemplo assume que seu projeto inclui um UserControl chamado UserControl1.

Dim myUserControl As UserControl1
Dim myCustomTaskPane As Microsoft.Office.Tools.CustomTaskPane

Private Sub ThisAddIn_Startup(ByVal sender As Object, ByVal e As System.EventArgs) _
Handles Me.Startup
    myUserControl = New UserControl1()
    myCustomTaskPane = Me.CustomTaskPanes.Add(myUserControl, "Sales Task Pane")
End Sub

Private Sub Application_WorkbookActivate(ByVal Wb As Excel.Workbook) _
    Handles Application.WorkbookActivate

    If Wb.Name = "SalesData.xlsx" Then
        myCustomTaskPane.Visible = True
    Else
        myCustomTaskPane.Visible = False
    End If
End Sub
private UserControl1 myUserControl;
private Microsoft.Office.Tools.CustomTaskPane myCustomTaskPane;

private void ThisAddIn_Startup(object sender, System.EventArgs e)
{
    this.Application.WorkbookActivate += new Excel.AppEvents_WorkbookActivateEventHandler(
        Application_WorkbookActivate);

    myUserControl = new UserControl1();
    myCustomTaskPane = this.CustomTaskPanes.Add(myUserControl, "Sales Task Pane");
}

void Application_WorkbookActivate(Excel.Workbook Wb)
{
    if (Wb.Name == "SalesData.xlsx")
        myCustomTaskPane.Visible = true;
    else
        myCustomTaskPane.Visible = false;
}

Consulte também

Tarefas

Como: Adicionar um painel de tarefas Personalizar a um aplicativo

Demonstra Passo a passo: Exibir painéis de tarefas Personalizars com mensagens de email no Outlook

Como: Exibir painéis de tarefas Personalizars com mensagens de email no Outlook

Demonstra Passo a passo: Sincronizando um painel de tarefas Personalizar com um botão da Faixa de Opções

Conceitos

Visão geral de painéis de tarefas Personalizar