Passo a passo: Importação de uma região de formulário que é criada no Outlook
Essa explicação passo a passo demonstra como criar uma região de formulário no Microsoft Office Outlook, e importar na região de formulário em um projeto do suplemento ao Outlook usando o assistente de Nova Área de Formulário .Criar a região de formulário no Outlook possibilita que você adicione os controles do Outlook de nativo para a área do formulário que se associam aos dados do Outlook.Depois que você importar a região de formulário, você pode manipular os eventos de cada controle.
Aplicável a: As informações neste tópico se aplicam a projetos de nível de aplicativo para Outlook 2013 e Outlook 2010. Para obter mais informações, consulte Recursos disponíveis pelo aplicativo do Office e o tipo de projeto.
Essa explicação passo a passo mostra as seguintes tarefas:
Criando uma região de formulário usando o designer da região de formulário no Outlook.
Importando uma região de formulário em um projeto do suplemento ao Outlook.
Manipulando eventos dos controles na região do formulário.
Observação |
---|
Seu computador pode mostrar nomes ou locais diferentes para alguns dos elementos da interface do usuário do Visual Studio nas instruções a seguir. A edição do Visual Studio que você possui e as configurações que você usa determinam esses elementos. Para obter mais informações, consulte Configurações de Visual Studio. |
Pré-requisitos
Para completar este passo-a-passo, são necessários os seguintes componentes:
-
Uma edição do Visual Studio 2012 que inclui o Microsoft Office Developer Tools. Para obter mais informações, consulte [Configurando um computador para desenvolver soluções do Office](bb398242\(v=vs.110\).md).
- Outlook 2013 ou Outlook 2010.
Observação |
---|
Seu computador pode mostrar diferentes nomes ou localizações para alguns dos elementos de interface do usuário Visual Studio nas instruções a seguir.A edição Visual Studio que você possui e as configurações que você usa determinam esses elementos.Para obter mais informações, consulte Configurações de Visual Studio. |
Para uma demonstração de vídeo relacionada, consulte Como: eu faço Crie regiões do formulário do Outlook usando Visual Studio 2008?.
Criando uma região de formulário usando o designer da região de formulário no Outlook
Em esta etapa você criará uma região de formulário no Outlook.Você então a salvar a área do formulário para um local fácil de localizar para que você possa o importação em Visual Studio.
Essa região do formulário de exemplo substitui totalmente o formulário comum de tarefas.Fornece uma maneira de acompanhar o progresso de todas as tarefas que devem ser concluídas antes que a tarefa principal pode ser executada tarefas necessárias ().A área do formulário exibe uma lista de tarefas necessárias, e mostra o status de conclusão para cada tarefa na lista.Os usuários podem adicionar à lista tarefas e removê-los.Também podem atualizar o status de conclusão de cada tarefa.
Para criar uma região de formulário usando o designer da região de formulário no Outlook
Inicie Microsoft Office Outlook.
Em o Outlook, na guia de Desenvolvedor , clique Criar um Formulário.Para obter mais informações, consulte Como: Mostrar guia desenvolvedor na faixa de opções.
Em a caixa de Criar Formulário , clique em Tarefa, e clique em Abrir.
Em o Outlook, na guia de Desenvolvedor , no grupo de Design , clique em Nova Área de Formulário.
Uma nova região de formulário abre.Se Seletor de Campos não aparecer, clique Seletor de Campos no grupo de Ferramentas .
Arraste o campo de Assunto e o campo de % Conclusão de Seletor de Campos para a área do formulário.
Em o grupo de Ferramentas , clique em Caixa de Ferramentas de Controle para abrir Caixa de Ferramentas.
Arraste um rótulo de Caixa de Ferramentas para a área do formulário.Posicionar o rótulo abaixo dos campos de Assunto e de % Conclusão .
Clique com o botão direito do mouse no rótulo, clique em Propriedades avançadas.
Em a janela de Propriedades , defina a propriedade de Legenda a esta tarefa depende das seguintes tarefas, defina a propriedade de Largura a 200, e clique em Aplicar.
Arraste um controle ListBox de Caixa de Ferramentas para a área do formulário.Posicionar a caixa de listagem abaixo de esta tarefa depende da seguir rótulo de tarefas.
Selecione a caixa de listagem que você adicionou.
Em a janela de Propriedades , defina Largura a 300, e clique em Aplicar.
Arraste um rótulo de Caixa de Ferramentas para a área do formulário.Posicionar o rótulo abaixo da caixa de listagem.
Selecione o rótulo que você adicionou.
Em a janela de Propriedades , defina a propriedade de Legenda para selecionar uma tarefa adicione a lista de tarefas dependentes, defina a propriedade de Largura a 200, e clique em Aplicar.
Arraste um controle de caixa combo Caixa de Ferramentas para a área do formulário.Posicionar a caixa de combinação abaixo de selecione uma tarefa adicione a lista de rótulo dependente de tarefas.
Selecione a caixa de combinação que você adicionou.
Em a janela de Propriedades , defina a propriedade de Largura a 300, e clique em Aplicar.
Arraste um controle de CommandButton de Caixa de Ferramentas para a área do formulário.Posicionar o botão de comando do lado da caixa combo.
Selecione o botão de comando que você adicionou.
Em a janela de Propriedades , defina Nome a AddDependentTask, defina Legenda para adicionar a tarefa dependente, defina Largura a 100, e clique em Aplicar.
Em Seletor de Campos, clique Novo.
Em a caixa de diálogo de Novo Campo , o hiddenField de tipo no campo de Nome , e clique em OK.
Arraste o campo de hiddenField de Seletor de Campos para a área do formulário.
Em a janela de Propriedades , defina a Visível 0 - falso, e clique em Aplicar.
Em o Outlook, na guia de Desenvolvedor , no grupo de Design , clique no botão de Salvar , e clique em Salvar Área de Formulário como.
Nomeie a região TaskFormRegion do formulário e salvar a um diretório local no seu computador.
Outlook salva a região de formulário como um arquivo de armazenamento do formulário do Outlook .ofs ().A região de formulário é salva com o nome TaskFormRegion.ofs.
saída Outlook.
Criando um novo projeto do suplemento do Outlook
Em esta etapa, você criará um projeto do suplemento ao Outlook.Posteriormente em esta explicação passo a passo, você irá importar a área do formulário para o projeto.
Para criar um novo projeto do suplemento do Outlook
Em Visual Studio, crie um projeto do suplemento ao Outlook com o nome TaskAddIn.
Em a caixa de diálogo de Novo Projeto , selecione Criar diretório para a solução.
Salvar o projeto para o diretório de projeto padrão.
Para obter mais informações, consulte Como: criar projetos do Office em Visual Studio.
Importando a região de formulário
Você pode importar a área do formulário que você criou em Outlook no projeto do suplemento ao Outlook usando o assistente de Novo região de formulário do Outlook .
Para importar a região de formulário no suplemento do Outlook projeto
Em Gerenciador de Soluções, clique com o botão direito do mouse no projeto de TaskAddIn , aponte para Adicionar, e então clique em Novo Item.
Em o painel de Modelos , Região do Formulário do Outlookselecione, nomeie o arquivo TaskFormRegion, e clique em Adicionar.
O assistente de NovoRegião do Formulário do Outlook .
Em a página de Selecione como você deseja criar a região de formulário , clique Importar um armazenamento do formulário do Outlook .ofs (Arquivo), clique em Procurar.
Em a caixa de diálogo de Local existente da área do formulário do Outlook , navegue até o local de TaskFormRegion.ofs, TaskFormRegion.ofs selecione, clique Abrir, clique em Avançar.
Em a página de Selecione o tipo de região do formulário que você deseja criar , clique em Substituir- qualquer, e clique em Avançar.
Substituir- qualquer área do formulário substitui o formulário inteiro do Outlook.Para obter mais informações sobre tipos de região de formulário, consulte Criação de regiões de formulário do Outlook.
Em a página de Forneça texto descritivo e selecione suas preferências de exibição , clique em Avançar.
Em a página de Identifica as classes de mensagem que serão exibidos essa região de formulário , no campo de As classes de mensagem personalizados serão exibidos essa região de formulário , o tipo IPM.Task.TaskFormRegion, e clique em Concluir.
Um arquivo de TaskFormRegion.cs ou de TaskFormRegion.vb é adicionado ao seu projeto.
Manipulando eventos dos controles na região do formulário
Agora que você tem a região de formulário no projeto, você pode adicionar código que manipula o evento de Microsoft.Office.Interop.Outlook.OlkCommandButton.Click do botão que você adicionou à área do formulário no Outlook.
Além de isso, adicione código ao evento de FormRegionShowing que atualiza controles na região do formulário quando a área do formulário aparece.
Para manipular eventos dos controles na região do formulário
Em Gerenciador de Soluções, clique com o botão direito do mouse TaskFormRegion.cs ou TaskFormRegion.vb, clique em Exibir Código.
TaskFormRegion.cs ou TaskFormRegion.vb abre no editor de códigos.
Adicione o seguinte código à classe TaskFormRegion:Esse código preenche a caixa de combinação na região de formulário com a linha de assunto de cada tarefa da pasta de tarefas do Outlook.
Private Sub populateComboBox() Dim Application As New Outlook.Application() Dim outlookNameSpace As Outlook.NameSpace = _ Application.GetNamespace("MAPI") Dim taskFolder As Outlook.MAPIFolder = _ outlookNameSpace.GetDefaultFolder _ (Microsoft.Office.Interop.Outlook.OlDefaultFolders.olFolderTasks) Dim taskItems As Outlook.Items = taskFolder.Items Dim task As Outlook.TaskItem For Each task In taskItems If Not (task.Subject Is Nothing) Then comboBox1.AddItem(task.Subject, System.Type.Missing) End If Next task comboBox1.Text = comboBox1.GetItem(0) End Sub
private void populateComboBox() { Outlook.Application Application = new Outlook.Application(); Outlook.NameSpace outlookNameSpace = Application.GetNamespace("MAPI"); Outlook.MAPIFolder taskFolder = outlookNameSpace.GetDefaultFolder( Microsoft.Office.Interop.Outlook.OlDefaultFolders.olFolderTasks); Outlook.Items taskItems = taskFolder.Items; foreach (Outlook.TaskItem task in taskItems) { if (task.Subject != null) { comboBox1.AddItem(task.Subject, System.Type.Missing); } } comboBox1.Text = comboBox1.GetItem(0); }
Adicione o seguinte código à classe TaskFormRegion:Esse código executa as seguintes tarefas:
Localiza Microsoft.Office.Interop.Outlook.TaskItem na pasta de tarefas chamando o método auxiliar de FindTaskBySubjectName e passando o assunto de tarefa desejada.Você adicionará o método auxiliar de FindTaskBySubjectName na próxima etapa.
Adiciona os valores de Microsoft.Office.Interop.Outlook.TaskItem.Subject e de Microsoft.Office.Interop.Outlook.TaskItem.PercentComplete a caixa de lista de tarefas dependente.
Adiciona o assunto de tarefas para o campo oculto na região do formulário.O campo oculto armazenar esses valores como parte do item do Outlook.
Private Sub AddDependentTask_Click1() Handles addDependentTask.Click Dim tempTaskItem As Outlook.TaskItem = FindTaskBySubjectName _ (comboBox1.Text) If Not (tempTaskItem Is Nothing) Then Me.listBox1.AddItem(tempTaskItem.PercentComplete.ToString() & _ "% Complete -- " & tempTaskItem.Subject, System.Type.Missing) Me.olkTextBox3.Text = Me.olkTextBox3.Text & "|" & tempTaskItem.Subject End If End Sub
void AddDependentTask_Click() { Outlook.TaskItem tempTaskItem = FindTaskBySubjectName(comboBox1.Text); if (tempTaskItem != null) { this.listBox1.AddItem(tempTaskItem.PercentComplete.ToString() + "% Complete -- " + tempTaskItem.Subject, System.Type.Missing); this.olkTextBox3.Text = this.olkTextBox3.Text + "|" + tempTaskItem.Subject; } }
Adicione o seguinte código à classe TaskFormRegion:Esse código fornece o método FindTaskBySubjectName auxiliar que foi descrito na etapa anterior.
Private Function FindTaskBySubjectName(ByVal subjectName As String) _ As Outlook.TaskItem Dim Application As New Outlook.Application() Dim outlookNameSpace As Outlook.NameSpace = _ Application.GetNamespace("MAPI") Dim tasksFolder As Outlook.MAPIFolder = _ outlookNameSpace.GetDefaultFolder _ (Microsoft.Office.Interop.Outlook.OlDefaultFolders.olFolderTasks) Dim taskItems As Outlook.Items = tasksFolder.Items Dim taskItem As Outlook.TaskItem For Each taskItem In taskItems If taskItem.Subject = subjectName Then Return taskItem End If Next taskItem Return Nothing End Function
private Outlook.TaskItem FindTaskBySubjectName(string subjectName) { Outlook.Application Application = new Outlook.Application(); Outlook.NameSpace outlookNameSpace = Application.GetNamespace("MAPI"); Outlook.MAPIFolder tasksFolder = outlookNameSpace.GetDefaultFolder( Microsoft.Office.Interop.Outlook. OlDefaultFolders.olFolderTasks); Outlook.Items taskItems = tasksFolder.Items; foreach (Outlook.TaskItem taskItem in taskItems) { if (taskItem.Subject == subjectName) { return taskItem; } } return null; }
Adicione o seguinte código à classe TaskFormRegion:Esse código executa as seguintes tarefas:
Atualiza a caixa de listagem para a área do formulário com o status de conclusão atual de cada tarefa dependente.
Analisa o campo oculto de texto para obter o assunto de cada tarefa dependente.Localiza em cada Microsoft.Office.Interop.Outlook.TaskItem na pasta de tarefas chamando o método auxiliar de FindTaskBySubjectName e passando o assunto de cada tarefa.
Adiciona os valores de Microsoft.Office.Interop.Outlook.TaskItem.Subject e de Microsoft.Office.Interop.Outlook.TaskItem.PercentComplete a caixa de lista de tarefas dependente.
Private Sub RefreshTaskListBox() listBox1.Clear() Dim tempTaskItem As Outlook.TaskItem Dim tempArray As [String]() = olkTextBox3.Text.Split(New [Char]() {"|"c}) Dim tempString As String For Each tempString In tempArray tempTaskItem = FindTaskBySubjectName(tempString) If Not (tempTaskItem Is Nothing) Then Me.listBox1.AddItem(tempTaskItem.PercentComplete.ToString() & _ "% Complete -- " & tempTaskItem.Subject, System.Type.Missing) End If Next tempString End Sub
void RefreshTaskListBox() { listBox1.Clear(); Outlook.TaskItem tempTaskItem; String[] tempArray = olkTextBox3.Text.Split(new Char[] { '|' }); foreach (string tempString in tempArray) { tempTaskItem = FindTaskBySubjectName(tempString); if (tempTaskItem != null) { this.listBox1.AddItem(tempTaskItem.PercentComplete.ToString() + "% Complete -- " + tempTaskItem.Subject, System.Type.Missing); } } }
Substitua o manipulador de eventos de TaskFormRegion_FormRegionShowing com o código a seguir.Esse código executa as seguintes tarefas:
Preenche a caixa de combinação na região de formulário com questões de tarefa quando a área do formulário aparece.
Chama o método auxiliar de RefreshTaskListBox quando a área do formulário aparece.Isso exibe todas as tarefas dependentes que sejam adicionadas à caixa de listagem quando o item foi aberto anteriormente.
Private Sub TaskFormRegion_FormRegionShowing(ByVal sender As Object, _ ByVal e As System.EventArgs) Handles MyBase.FormRegionShowing populateComboBox() RefreshTaskListBox() End Sub
private void TaskFormRegion_FormRegionShowing (object sender, EventArgs e) { populateComboBox(); RefreshTaskListBox(); this.addDependentTask.Click += new Microsoft.Office.Interop.Outlook. OlkCommandButtonEvents_ClickEventHandler(AddDependentTask_Click); }
Testando a região de formulário do Outlook
Para testar a área do formulário, adicione tarefas à lista de tarefas necessárias para a área do formulário.Atualizar o status de conclusão de uma tarefa necessária e em seguida, exibir o status de conclusão atualizado de tarefa na lista de tarefas necessária.
Para testar a região de formulário
Pressione F5 para executar o projeto.
Inicia do Outlook.
Em o Outlook, na guia de Início , clique em Novos Itens, e clique em Tarefa.
Em o formulário de tarefas, tarefa dependente de tipo no campo de Assunto .
Em a guia de Tarefa de fita, no grupo de Ações , clique Salve e feche.
Em o Outlook, na guia de Início , clique em Novos Itens, clique Mais itens, e clique em Escolher Formulário.
Em a caixa de diálogo de Escolher Formulário , clique em TaskFormRegion, e clique em Abrir.
A área do formulário de TaskFormRegion aparece.Este formulário substitui o formulário inteiro de tarefas.A caixa de combinação de Selecione uma tarefa adicione a lista de tarefas dependentes é preenchida com outras tarefas na pasta de tarefas.
Em o formulário de tarefas, no campo de Assunto , as tarefas principais do tipo.
Em a caixa combo Selecione uma tarefa adicione a lista de tarefas dependentes , tarefa dependenteselecione, e clique em Adicione a tarefa dependente.
0% Completo -- tarefa dependente aparece na caixa de listagem de Esta tarefa depende das seguintes tarefas .Isso demonstra que você tratou com êxito o evento de Microsoft.Office.Interop.Outlook.OlkCommandButton.Click do botão.
Salve e feche o item de As tarefas principais .
Abra o item dependente de tarefa no Outlook.
Em o formulário dependente de tarefas, altere o campo de % Conclusão a 50%.
Em a guia de Tarefa de fita dependente de tarefas, no grupo de Ações , clique Salve e feche.
Abra o item de As tarefas principais no Outlook.
50% Completo -- tarefa dependente agora aparece na caixa de listagem de Esta tarefa depende das seguintes tarefas .
Próximas etapas
Você pode aprender mais sobre como personalizar a interface do usuário de um aplicativo do Outlook de esses tópicos:
Para saber mais sobre como criar a aparência de uma região de formulário arrastando controles gerenciados em um designer visual, consulte Passo a passo: Criando uma região de formulário do Outlook.
Para aprender sobre como personalizar a fita de um item do Outlook, consulte Personalizando uma faixa de opções para o Outlook.
Para saber mais sobre como adicionar um painel de tarefa adequada para Outlook, consulte Painéis de tarefas personalizados.
Consulte também
Tarefas
Passo a passo: Criando uma região de formulário do Outlook
Como: adicionar uma região de formulário a um projeto de suplemento do Outlook
Como: impedir a exibição de uma região de formulário do Outlook
Conceitos
Acessando uma região de formulário em tempo de execução
Diretrizes para criação de regiões de formulário do Outlook
A associação de uma região de formulário com uma classe de mensagem do Outlook
Ações personalizadas em regiões de formulário do Outlook