Compartilhar via


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çãoObservaçã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çãoObservaçã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.

link para vídeo 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

  1. Inicie Microsoft Office Outlook.

  2. 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.

  3. Em a caixa de Criar Formulário , clique em Tarefa, e clique em Abrir.

  4. 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 .

  5. Arraste o campo de Assunto e o campo de % Conclusão de Seletor de Campos para a área do formulário.

  6. Em o grupo de Ferramentas , clique em Caixa de Ferramentas de Controle para abrir Caixa de Ferramentas.

  7. 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 .

  8. Clique com o botão direito do mouse no rótulo, clique em Propriedades avançadas.

  9. 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.

  10. 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.

  11. Selecione a caixa de listagem que você adicionou.

  12. Em a janela de Propriedades , defina Largura a 300, e clique em Aplicar.

  13. Arraste um rótulo de Caixa de Ferramentas para a área do formulário.Posicionar o rótulo abaixo da caixa de listagem.

  14. Selecione o rótulo que você adicionou.

  15. 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.

  16. 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.

  17. Selecione a caixa de combinação que você adicionou.

  18. Em a janela de Propriedades , defina a propriedade de Largura a 300, e clique em Aplicar.

  19. 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.

  20. Selecione o botão de comando que você adicionou.

  21. Em a janela de Propriedades , defina Nome a AddDependentTask, defina Legenda para adicionar a tarefa dependente, defina Largura a 100, e clique em Aplicar.

  22. Em Seletor de Campos, clique Novo.

  23. Em a caixa de diálogo de Novo Campo , o hiddenField de tipo no campo de Nome , e clique em OK.

  24. Arraste o campo de hiddenField de Seletor de Campos para a área do formulário.

  25. Em a janela de Propriedades , defina a Visível 0 - falso, e clique em Aplicar.

  26. 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.

  27. 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

  1. Em Visual Studio, crie um projeto do suplemento ao Outlook com o nome TaskAddIn.

  2. Em a caixa de diálogo de Novo Projeto , selecione Criar diretório para a solução.

  3. 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

  1. 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.

  2. 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 .

  3. 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.

  4. 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.

  5. 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.

  6. Em a página de Forneça texto descritivo e selecione suas preferências de exibição , clique em Avançar.

  7. 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

  1. 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.

  2. 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);
    }
    
  3. 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;
            }
        }
    
  4. 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;
    }
    
  5. 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);
            }
        }
    }
    
  6. 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

  1. Pressione F5 para executar o projeto.

    Inicia do Outlook.

  2. Em o Outlook, na guia de Início , clique em Novos Itens, e clique em Tarefa.

  3. Em o formulário de tarefas, tarefa dependente de tipo no campo de Assunto .

  4. Em a guia de Tarefa de fita, no grupo de Ações , clique Salve e feche.

  5. Em o Outlook, na guia de Início , clique em Novos Itens, clique Mais itens, e clique em Escolher Formulário.

  6. 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.

  7. Em o formulário de tarefas, no campo de Assunto , as tarefas principais do tipo.

  8. 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.

  9. Salve e feche o item de As tarefas principais .

  10. Abra o item dependente de tarefa no Outlook.

  11. Em o formulário dependente de tarefas, altere o campo de % Conclusão a 50%.

  12. Em a guia de Tarefa de fita dependente de tarefas, no grupo de Ações , clique Salve e feche.

  13. 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:

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

Outros recursos

Criação de regiões de formulário do Outlook