Compartilhar via


Painéis de tarefas personalizados

Painéis de tarefas são painéis de interface do usuário que normalmente são encaixados em um lado de uma janela em um aplicativo do Microsoft Office. Os painéis de tarefas personalizados oferecem uma maneira de criar seu próprio painel de tarefas e fornecer aos usuários uma interface familiar para acessar os recursos da solução. Por exemplo, a interface pode conter controles que executam código para modificar documentos ou exibir dados de uma fonte de dados.

Aplica-se a: As informações neste tópico se aplicam a projetos de Suplementos VSTO para Outlook. Para obter mais informações, consulte Os recursos disponíveis pelo aplicativo do Office e pelo tipo de projeto.

Observação

Um painel de tarefas personalizado difere do painel de ações. O painel ações faz parte das personalizações no nível do documento para o Microsoft Office Word e o Microsoft Office Excel. Para obter mais informações, consulte a visão geral do painel Ações.

Benefícios dos painéis de tarefas personalizados

Os painéis de tarefas personalizados permitem integrar seus recursos a uma interface do usuário familiar. Você pode criar um painel de tarefas personalizado rapidamente usando as ferramentas do Visual Studio.

Interface familiar do usuário

Os usuários de aplicativos no sistema do Microsoft Office já estão familiarizados com o uso de painéis de tarefas, como o painel de tarefas Estilos e Formatação no Word. Os painéis de tarefas personalizados se comportam como outros painéis de tarefas no sistema do Microsoft Office. Os usuários podem encaixar painéis de tarefas personalizados em diferentes lados da janela do aplicativo ou arrastar painéis de tarefas personalizados para qualquer local na janela. Você pode criar um Suplemento VSTO que exibe vários painéis de tarefas personalizados ao mesmo tempo e os usuários podem controlar cada painel de tarefas individualmente.

Suporte a formulários do Windows

A interface do usuário de um painel de tarefas personalizado que você cria usando as ferramentas de desenvolvimento do Office no Visual Studio é baseada em controles do Windows Forms. Você pode usar o Designer de Formulários do Windows familiar para projetar a interface do usuário para um painel de tarefas personalizado. Você também pode usar o suporte à associação de dados no Windows Forms para associar uma fonte de dados a controles no painel de tarefas.

Criar um painel de tarefas personalizado

Você pode criar um painel de tarefas personalizado básico em duas etapas:

  1. Crie uma interface do usuário para o painel de tarefas personalizado adicionando controles do Windows Forms a um UserControl objeto.

  2. Instancie o painel de tarefas personalizado passando o controle de usuário para o objeto CustomTaskPaneCollection no seu Add-in VSTO. Essa coleção retorna um novo CustomTaskPane objeto que você pode usar para modificar a aparência do painel de tarefas e responder a eventos do usuário.

    Para obter mais informações, consulte Como adicionar um painel de tarefas personalizado a um aplicativo.

Criar a interface do usuário

Todos os painéis de tarefas personalizados criados usando as ferramentas de desenvolvimento do Office no Visual Studio contêm um UserControl objeto. Esse controle de usuário fornece a interface do usuário do painel de tarefas personalizado. Você pode criar o controle de usuário em tempo de design ou em tempo de execução. Se você criar o controle de usuário em tempo de design, poderá usar o Designer de Formulários do Windows para construir a interface do usuário do painel de tarefas.

Instanciar o painel de tarefas personalizado

Depois de criar um controle do usuário contendo a interface do usuário do painel de tarefas personalizado, você precisará instanciar um CustomTaskPane. Para fazer isso, passe o controle de usuário para o CustomTaskPaneCollection no seu suplemento VSTO chamando um dos métodos Add. Essa coleção é exposta como o CustomTaskPanes campo da ThisAddIn classe. O exemplo de código a seguir destina-se a ser executado a partir da ThisAddIn classe.

myUserControl1 = new MyUserControl();
myCustomTaskPane = this.CustomTaskPanes.Add(myUserControl1, "My Task Pane");
myCustomTaskPane.Visible = true;

Os Add métodos retornam um novo CustomTaskPane objeto. Você pode usar esse objeto para modificar a aparência do painel de tarefas e responder a eventos do usuário.

Controlar o painel de tarefas em várias janelas

Os painéis de tarefas personalizados são associados a uma janela de quadro de documento, que apresenta uma exibição de um documento ou item para o usuário. O painel de tarefas fica visível somente quando a janela associada está visível.

Para determinar qual janela exibe o painel de tarefas personalizado, use a sobrecarga de método apropriada Add ao criar o painel de tarefas:

  • Para associar o painel de tarefas à janela ativa, use o Add método.

  • Para associar o painel de tarefas a um documento hospedado por uma janela especificada, use o Add método.

    Alguns aplicativos do Office exigem instruções explícitas para quando criar ou exibir o painel de tarefas quando mais de uma janela estiver aberta. Isso torna importante considerar onde instanciar o painel de tarefas personalizado em seu código para garantir que o painel de tarefas apareça com os documentos ou itens apropriados no aplicativo. Para obter mais informações, consulte Gerenciar painéis de tarefas personalizados nas janelas do aplicativo.

Acessar o aplicativo no Painel de Tarefas

Se você quiser automatizar o aplicativo a partir do controle de usuário, poderá acessar diretamente o modelo de objeto usando Globals.ThisAddIn.Application em seu código. A classe estática Globals fornece acesso ao ThisAddIn objeto. O Application campo desse objeto é o ponto de entrada no modelo de objeto do aplicativo.

Para obter mais informações sobre o Application campo do ThisAddIn objeto, consulte Suplementos VSTO do Programa. Para obter um passo a passo que demonstra como automatizar um aplicativo de um painel de tarefas personalizado, consulte Passo a passo: Automatizar um aplicativo de um painel de tarefas personalizado. Para obter mais informações sobre a Globals classe, consulte o acesso global a objetos em projetos do Office.

Gerenciar a interface do usuário do Painel de Tarefas

Depois de criar o painel de tarefas, você pode usar propriedades e eventos do CustomTaskPane objeto para controlar a interface do usuário do painel de tarefas e responder quando o usuário alterar o painel de tarefas.

Tornar o Painel de Tarefas personalizado visível

Por padrão, o painel de tarefas não está visível. Para tornar o painel de tarefas visível, você deve definir a Visible propriedade como true.

Os usuários podem fechar um painel de tarefas a qualquer momento clicando no botão Fechar (X) no canto do painel de tarefas. No entanto, não há nenhuma maneira padrão de os usuários abrirem o painel de tarefas personalizado novamente. Se um usuário fechar um painel de tarefas personalizado, esse usuário não poderá exibir o painel de tarefas personalizado novamente, a menos que você forneça uma maneira de exibi-lo.

Se você criar um painel de tarefas personalizado em seu Suplemento VSTO, também deverá criar um elemento de interface do usuário, como um botão, que os usuários podem clicar para exibir ou ocultar seu painel de tarefas personalizado. Se você criar um painel de tarefas personalizado em um aplicativo do Microsoft Office que dê suporte à personalização da Faixa de Opções, poderá adicionar um grupo de controle à Faixa de Opções com um botão que exibe ou oculta o painel de tarefas personalizado. Para obter um passo a passo que demonstra como fazer isso, consulte Passo a passo : sincronizar um painel de tarefas personalizado com um botão Faixa de Opções.

Se você criar um painel de tarefas personalizado em um aplicativo do Microsoft Office que não dá suporte à personalização da Faixa de Opções, poderá adicionar um CommandBarButton que exibe ou oculta seu painel de tarefas personalizado.

Modificar a aparência do painel de tarefas

Você pode controlar o tamanho e o local de um painel de tarefas personalizado usando as propriedades do CustomTaskPane objeto. Você pode fazer muitas outras alterações na aparência de um painel de tarefas personalizado usando propriedades do UserControl objeto contido no painel de tarefas personalizado. Por exemplo, você pode especificar uma imagem de plano de fundo para um painel de tarefas personalizado usando a BackgroundImage propriedade do controle de usuário.

A tabela a seguir lista as alterações que você pode fazer em um painel de tarefas personalizado usando CustomTaskPane propriedades.

Tarefa Propriedade
Para alterar o tamanho do painel de tarefas Height

Width
Para alterar o local do painel de tarefas DockPosition
Para ocultar o painel de tarefas ou torná-lo visível Visible
Para impedir que o usuário altere o local do painel de tarefas DockPositionRestrict

Programar eventos para o painel de tarefas personalizado

Talvez você queira que seu complemento VSTO responda quando o usuário modificar o painel de tarefas personalizado. Por exemplo, se o usuário alterar a orientação do painel de vertical para horizontal, convém reposicionar os controles.

A tabela a seguir lista os eventos que você pode manipular para responder às alterações feitas pelo usuário no painel de tarefas personalizado.

Tarefa Event
Para responder quando o usuário altera o local do painel de tarefas. DockPositionChanged
Para responder quando o usuário oculta o painel de tarefas ou o torna visível. VisibleChanged

Limpar recursos usados pelo painel de tarefas

Depois de criar um painel de tarefas personalizado, o CustomTaskPane objeto permanecerá na memória enquanto o suplemento VSTO estiver em execução. O objeto permanece na memória mesmo depois que o usuário clica no botão Fechar (X) no canto do painel de tarefas.

Para limpar os recursos usados pelo painel de tarefas enquanto o Suplemento VSTO ainda estiver em execução, use os métodos Remove ou RemoveAt. Esses métodos removem o objeto especificado CustomTaskPane da CustomTaskPanes coleção e chamam o Dispose método do objeto.

O runtime das Ferramentas do Visual Studio para Office limpa automaticamente os recursos usados pelo painel de tarefas customizado quando o Suplemento VSTO é descarregado. Não chame os métodos Remove ou RemoveAt no manipulador de eventos ThisAddIn_Shutdown em seu projeto. Esses métodos lançarão um ObjectDisposedException, porque as Ferramentas do Visual Studio para o tempo de execução do Office limpam os recursos usados pelo objeto CustomTaskPane antes que ThisAddIn_Shutdown seja chamado. Para obter mais informações sobre ThisAddIn_Shutdown, consulte Eventos em projetos do Office.

Gerenciar painéis de tarefas personalizados em várias janelas do aplicativo

Ao criar um painel de tarefas personalizado em um aplicativo que usa várias janelas para exibir documentos e outros itens, você precisa executar etapas extras para garantir que o painel de tarefas fique visível quando o usuário espera que ele esteja.

Painéis de tarefas personalizados em todos os aplicativos são associados a uma janela de quadro de documento, que apresenta uma exibição 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 todos os aplicativos usam janelas de quadro de documento da mesma maneira.

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

Perspectiva

Quando você cria um painel de tarefas personalizado para o Outlook, o painel de tarefas personalizado é associado a uma janela específica do Explorer ou do Inspetor. Os exploradores são janelas que exibem o conteúdo de uma pasta e inspetores são janelas que exibem um item, como uma mensagem de email ou uma tarefa.

Se você quiser exibir um painel de tarefas personalizado com várias janelas do Explorer ou inspetor, será necessário criar uma nova instância do painel de tarefas personalizado quando uma janela Do Explorer ou Inspetor for aberta. Para fazer isso, manipule um evento gerado quando uma janela Explorer ou Inspector é criada e, em seguida, crie o painel de tarefas no manipulador de eventos. Você também pode manipular eventos do Explorer e do Inspetor para ocultar ou exibir painéis de tarefas, dependendo de qual janela está visível.

Para associar o painel de tarefas a um Explorer ou Inspetor específico, use o método Add para criar o painel de tarefas e passe o objeto Explorer ou Inspector para o parâmetro de janela. Para obter mais informações sobre como criar painéis de tarefas personalizados, consulte a visão geral dos painéis de tarefas personalizados.

Impedir várias instâncias de um painel de tarefas personalizado no Outlook

Para impedir que as janelas do Outlook exibam várias instâncias de um painel de tarefas personalizado, remova explicitamente o painel de tarefas personalizado da CustomTaskPanes coleção da ThisAddIn classe quando cada janela for fechada. Chame o Remove método em um evento gerado quando uma janela é fechada, como Close ou Close.

Se você não remover explicitamente o painel de tarefas personalizado, as janelas do Outlook poderão exibir várias instâncias do painel de tarefas personalizado. Às vezes, o Outlook recicla janelas e as janelas recicladas retêm referências a todos os painéis de tarefas personalizados que foram anexados a eles.

Word, InfoPath e PowerPoint

Word, InfoPath e PowerPoint exibem cada documento em uma janela de quadro de documento diferente. Quando você cria um painel de tarefas personalizado para esses aplicativos, o painel de tarefas personalizado é associado apenas a um documento específico. Se o usuário abrir um documento diferente, o painel de tarefas personalizado ficará oculto até que o documento anterior esteja visível novamente.

Se você quiser exibir um painel de tarefas personalizado com vários documentos, crie uma nova instância do painel de tarefas personalizado quando o usuário criar um novo documento ou abrir um documento existente. Para fazer isso, manipule os eventos gerados quando um documento é criado ou aberto e, em seguida, crie o painel de tarefas nos manipuladores de eventos. Você também pode lidar com eventos de documento para ocultar ou exibir painéis de tarefas, dependendo de qual documento está visível.

Para associar o painel de tarefas a uma janela de documento específica, use o Add método para criar o painel de tarefas e passe um Window (para o Word), WindowObject (para InfoPath) ou DocumentWindow (para PowerPoint) para o parâmetro de janela .

Eventos do Word

Para monitorar o estado das janelas de documentos no Word, você pode lidar com os seguintes eventos:

Eventos do InfoPath

Para monitorar o estado das janelas de documentos no InfoPath, você pode lidar com os seguintes eventos:

Eventos do PowerPoint

Para monitorar o estado das janelas de documentos no PowerPoint, você pode lidar com os seguintes eventos: