Painéis de tarefas personalizados
Os 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 fornecem 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 suplemento VSTO para Outlook. Para obter mais informações, consulte Recursos disponíveis por aplicativo e tipo de projeto do Office.
Observação
Um painel de tarefas personalizado é diferente do painel de ações. O painel de ações faz parte das personalizações em nível de documento para o Microsoft Office Word e o Microsoft Office Excel. Para obter mais informações, consulte 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 em uma interface de usuário familiar. Você pode criar um painel de tarefas personalizado rapidamente usando as ferramentas do Visual Studio.
Interface de usuário familiar
Os usuários de aplicativos no Microsoft Office System 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 Microsoft Office System. Os usuários podem encaixar painéis de tarefas personalizados em diferentes lados da janela do aplicativo ou podem 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 conhecido Windows Forms Designer para criar a interface do usuário para um painel de tarefas personalizado. Você também pode usar o suporte à vinculação de dados no Windows Forms para vincular 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:
Crie uma interface de usuário para seu painel de tarefas personalizado adicionando controles do Windows Forms a um UserControl objeto.
Instancie o painel de tarefas personalizado passando o controle de usuário para o CustomTaskPaneCollection objeto no suplemento 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 que são 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 Windows Forms Designer para construir a interface do usuário do painel de tarefas.
Instanciar o painel de tarefas personalizado
Depois de criar um controle de usuário que contém a interface do usuário do painel de tarefas personalizado, você precisa instanciar um CustomTaskPanearquivo . Para fazer isso, passe o controle de usuário para o CustomTaskPaneCollection suplemento VSTO chamando um dos Add métodos. Essa coleção é exposta como o CustomTaskPanes
campo da ThisAddIn
classe. O exemplo de código a seguir destina-se a ser executado a ThisAddIn
partir da 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 ao 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 sobre quando criar ou exibir seu 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 em janelas de aplicativos.
Acessar o aplicativo a partir do Painel de Tarefas
Se você deseja automatizar o aplicativo a partir do controle de usuário, você pode 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 uma explicação passo a passo que demonstra como automatizar um aplicativo a partir de um painel de tarefas personalizado, consulte Demonstra Passo a passo: Automatizar um aplicativo a partir de um painel de tarefas personalizado. Para obter mais informações sobre a classe, consulte Acesso global a Globals
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 objeto para controlar a interface do usuário do painel de tarefas e responder quando o usuário altera o painel de CustomTaskPane tarefas.
Tornar visível o Painel de Tarefas personalizado
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 para os usuários abrirem o painel de tarefas personalizado novamente. Se um usuário fechar um painel de tarefas personalizado, ele 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 no suplemento VSTO, também deverá criar um elemento da interface do usuário, como um botão, no qual os usuários podem clicar para exibir ou ocultar o painel de tarefas personalizado. Se você criar um painel de tarefas personalizado em um aplicativo do Microsoft Office que ofereça suporte à personalização da Faixa de Opções, poderá adicionar um grupo de controle à Faixa de Opções com um botão que exiba ou oculte seu painel de tarefas personalizado. Para obter uma explicação passo a passo que demonstra como fazer isso, consulte Passo a passo: sincronizar um painel de tarefas personalizado com um botão da Faixa de Opções.
Se você criar um painel de tarefas personalizado em um aplicativo do Microsoft Office que não ofereça suporte à personalização da Faixa de Opções, poderá adicionar um painel de CommandBarButton 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 as UserControl propriedades do 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 |
Eventos do painel de tarefas personalizado do programa
Talvez você queira que o suplemento VSTO responda quando o usuário modifica 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 | Evento |
---|---|
Para responder quando o usuário alterar 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 objeto permanece na memória enquanto o CustomTaskPane 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 está em execução, use os Remove métodos ou RemoveAt . Esses métodos removem o CustomTaskPanes
objeto especificado CustomTaskPane da coleção e chamam o Dispose
método do objeto.
O tempo de execução do Visual Studio Tools for Office limpa automaticamente os recursos usados pelo painel de tarefas personalizado quando o suplemento VSTO é descarregado. Não chame ThisAddIn_Shutdown
os Remove métodos ou RemoveAt no manipulador de eventos em seu projeto. Esses métodos lançarão um ObjectDisposedException, porque o Visual Studio Tools for Office runtime limpa os recursos usados pelo objeto antes ThisAddIn_Shutdown
de CustomTaskPane ser chamado. Para obter mais informações sobre ThisAddIn_Shutdown
o , consulte Eventos em projetos do Office.
Gerenciar painéis de tarefas personalizados em várias janelas de aplicativos
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.
Os 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 ao 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:
Outlook
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. 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 desejar exibir um painel de tarefas personalizado com várias janelas do Explorer ou do Inspetor, será necessário criar uma nova instância do painel de tarefas personalizado quando uma janela do Explorer ou do Inspetor for aberta. Para fazer isso, manipule um evento que é gerado quando uma janela do Explorer ou do Inspetor é 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 para criar o painel de tarefas e passe o objeto ou para o Add Explorer parâmetro window.Inspector Para obter mais informações sobre como criar painéis de tarefas personalizados, consulte Visão geral de painéis de tarefas personalizados.
-
Para monitorar o estado das janelas do Inspetor, você pode manipular os seguintes eventos relacionados ao Inspetor:
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 coleção da CustomTaskPanes
ThisAddIn
classe quando cada janela for fechada. Chame o Remove método em um evento que é 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 quaisquer painéis de tarefas personalizados que foram anexados a elas.
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 fique visível novamente.
Se desejar 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 eventos que são gerados quando um documento é criado ou aberto e, em seguida, crie o painel de tarefas nos manipuladores de eventos. Você também pode manipular 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 método para criar o painel de tarefas e passe um Window (para Word), WindowObject (para InfoPath) ou DocumentWindow (para PowerPoint) para o Add parâmetro window.
Eventos do Word
Para monitorar o estado das janelas do documento no Word, você pode manipular os seguintes eventos:
Eventos do InfoPath
Para monitorar o estado das janelas de documento no InfoPath, você pode manipular os seguintes eventos:
Eventos do PowerPoint
Para monitorar o estado das janelas de documento no PowerPoint, você pode manipular os seguintes eventos:
Microsoft.Office.Interop.PowerPoint.EApplication_Event.AfterNewPresentation
Microsoft.Office.Interop.PowerPoint.EApplication_Event.AfterPresentationOpen
Microsoft.Office.Interop.PowerPoint.EApplication_Event.NovaApresentação
Microsoft.Office.Interop.PowerPoint.EApplication_Event.ApresentaçãoAbrir
Microsoft.Office.Interop.PowerPoint.EApplication_Event.WindowActivate
Microsoft.Office.Interop.PowerPoint.EApplication_Event.WindowDesativar
Conteúdo relacionado
- Como adicionar um painel de tarefas personalizado a um aplicativo
- Demonstra Passo a passo: Automatizar um aplicativo a partir de um painel de tarefas personalizado
- Demonstra Passo a passo: Sincronizar um painel de tarefas personalizado com um botão Faixa de Opções
- Passo a passo: Exibir painéis de tarefas personalizados com mensagens de email no Outlook