Demonstra Passo a passo: A importação de uma região de formulário que é criada no Outlook

Esta explicação passo a passo demonstra como criar uma região de formulário de Microsoft Office Outlook e, em seguida, importe a região de formulário para um projeto de suplemento do Outlook usando o Nova região de formulário assistente. Projetando a região de formulário do Outlook possibilita adicionar controles nativos do Outlook para a região de formulário vincular aos dados do Outlook. Depois de 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 2007 e Outlook 2010. Para obter mais informações, consulte Recursos disponíveis pelo aplicativo do Office e o tipo de projeto.

This walkthrough illustrates the following tasks:

  • Projetando uma região de formulário usando o designer de região de formulário do Outlook.

  • Importando uma região de formulário para um projeto de suplemento do Outlook.

  • Manipulando os eventos de 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 do Visual Studio.

Pré-requisitos

You need the following components to complete this walkthrough:

-

Uma edição do Visual Studio 2010 que inclua as ferramentas de desenvolvedor do Microsoft Office. Para obter mais informações, consulte [Configurando um computador para desenvolver soluções do Office](bb398242\(v=vs.100\).md).
  • Microsoft Office Outlook 2007 ou Outlook 2010.
ObservaçãoObservação

Your computer might show different names or locations for some of the Visual Studio user interface elements in the following instructions. The Visual Studio edition that you have and the settings that you use determine these elements. For more information, see Trabalhando com configurações.

link para vídeo Para uma demonstração de vídeo relacionada, consulte Fazer como i: Criar regiões de formulário do Outlook usando o Visual Studio de 2008?.

A criação de uma região de formulário usando o Designer de região de formulário do Outlook

Nesta etapa, você criará uma região de formulário do Outlook. Em seguida, você irá salvar a região de formulário em um local fácil de localizar, de forma que você pode importá-las para Visual Studio.

Esta região de formulário de exemplo substitui completamente o formulário de tarefas comuns. Ele fornece uma maneira de controlar o andamento de todas as tarefas que devem ser concluídas antes que a principal tarefa pode ser executada (tarefas de pré-requisito). A região de formulário exibe uma lista de tarefas de pré-requisito e mostra o status de conclusão para cada tarefa na lista. Os usuários podem adicionar tarefas à lista e removê-los. Eles também podem atualizar o status de conclusão de cada tarefa.

Para criar uma região de formulário usando o designer de região de formulário do Outlook

  1. Inicie Microsoft Office Outlook.

  2. Abra o designer de formulários, executando uma das seguintes tarefas:

  3. No Design do formulário , clique em tarefae em seguida, clique em Abrir.

  4. Crie uma região de formulário executando uma das seguintes tarefas:

    • No Outlook 2010, na Developer tab, o Design de grupo, clique em Nova região de formulário.

    • No Outlook 2007, no Developer tab, o Design agrupar, clique em Região de formulário e Nova região de formulário.

    Uma nova região de formulário é aberto. Se o O seletor de campo não aparecer, clique em Seletor de campos na Ferramentas grupo.

  5. Arrastar o assunto campo e o % concluída campo a partir do Seletor de campos à região de formulário.

  6. No Ferramentas de grupo, clique em Ferramentas de controle para abrir o caixa de ferramentas.

  7. Arraste um rótulo a partir de Toolbox à região de formulário. Posição do rótulo abaixo do assunto e % concluída campos.

  8. Clique com o botão direito no rótulo e clique em Propriedades avançadas de.

  9. No Propriedades janela, defina a legenda propriedade para essa tarefa depende das tarefas a seguir, defina a largura propriedade para 200 e, em seguida, clique Aplicar.

  10. Arraste um controle ListBox a partir de Toolbox à região de formulário. Posicione a caixa de listagem abaixo esta tarefa depende do rótulo de tarefas a seguir.

  11. Marque a caixa de lista que você acabou de adicionar.

  12. No Propriedades janela, defina largura para 300 e clique Aplicar.

  13. Arraste um rótulo a partir de Toolbox à região de formulário. Posição do rótulo abaixo da caixa de lista.

  14. Selecione o rótulo que você acabou de adicionar.

  15. No Propriedades janela, defina a legenda definida para selecionar uma tarefa para adicionar à lista de tarefas dependentes, o largura propriedade para 200 e, em seguida, clique Aplicar.

  16. Arraste um controle ComboBox a partir de caixa de ferramentas à região de formulário. Posição da combinação caixa abaixo Selecione uma tarefa para adicionar à lista de dependentes de tarefas de rótulo.

  17. Marque a caixa de combinação que você acabou de adicionar.

  18. No Propriedades janela, defina a largura propriedade para 300 e, em seguida, clique Aplicar.

  19. Arraste um controle CommandButton a partir de Toolbox à região de formulário. Posicione o botão de comando ao lado da caixa de combinação.

  20. Selecione o botão de comando que você acabou de adicionar.

  21. No Propriedades janela, defina nome para AddDependentTask, defina legenda para adicionar tarefa dependente, defina largura a 100 e clique Aplicar.

  22. No O seletor de campo, clique em nova.

  23. No Novo campo caixa de diálogo, o tipo de hiddenField na nome de campo e, em seguida, clique em OK.

  24. Arrastar o hiddenField campo a partir de Seletor de campos à região de formulário.

  25. No Propriedades janela, defina Visible como 0 - falso e em seguida, clique em Aplicar.

  26. Salve a região de formulário executando uma das seguintes tarefas:

    • No Outlook 2010, na Developer tab, o Design de grupo, clique no Salvar e, em seguida, clique Salvar região de formulário como.

    • No Outlook 2007, no Developer tab, o Design de grupo, clique em Região do formulárioe, em seguida, clique em Salvar região de formulário como.

    O nome da região de formulário TaskFormRegion e salve-o em um diretório local no seu computador.

    O Outlook salva a região de formulário como um arquivo de armazenamento de formulário do Outlook (. ofs). A região de formulário é salvo com o nome TaskFormRegion.ofs.

  27. Saia do Outlook.

Criar um novo Outlook suplemento do projeto

Nesta etapa, você irá criar um projeto de suplemento do Outlook. Posteriormente nesta explicação passo a passo, você importará a região do formulário ao projeto.

Para criar um novo Outlook suplemento do projeto

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

  2. No Novo projeto caixa de diálogo, selecione Create directory for solution.

  3. Salve o projeto para o diretório de projeto padrão.

    For more information, see Como: Criar projetos do Office em Visual Studio.

Importando a região de formulário

Você pode importar a região de formulário que você criou no Outlook para o projeto de suplemento do Outlook usando o Nova região de formulário do Outlook assistente.

Para importar a região de formulário para o projeto de suplemento do Outlook

  1. No Solution Explorer, com o botão direito do TaskAddIn do projeto, aponte para Adde, em seguida, clique em Novo Item.

  2. No modelos de painel, selecione Região de formulário do Outlook, nomeie o arquivo TaskFormRegion e, em seguida, clique em Add.

    O nova Região de formulário do Outlook inicia o assistente.

  3. No Selecione como deseja criar a região de formulário página, clique em um armazenamento de formulário do Outlook (. ofs) arquivos de importaçãoe, em seguida, clique em Procurar.

  4. No Local existente do arquivo de região do Outlook formulário caixa de diálogo, navegue para o local de TaskFormRegion.ofs, TaskFormRegion.ofs select, clique em Abrire em seguida, clique em próximo.

  5. Sobre o Selecione o tipo de região de formulário que você deseja criar página, clique em Substituir tudoe, em seguida, clique em próximo.

    A Substituir tudo região de formulário substitui todo o formulário do Outlook. Para obter mais informações sobre os tipos de região de formulário, consulte Criação de regiões de formulário do Outlook.

  6. Sobre o fornecer texto descritivo e selecionar suas preferências de exibição página, clique em próximo.

  7. Sobre o identificar as classes de mensagem que exibirá a região de formulário página, o quais classes de mensagem personalizada exibirá a região de formulário , digite IPM.Task.TaskFormRegion e clique Concluir.

    Um arquivo de TaskFormRegion.cs ou TaskFormRegion.vb é adicionado ao seu projeto.

Manipulando os eventos dos controles na região de formulário

Agora que você tem a região de formulário no projeto, você pode adicionar código que manipula o Microsoft.Office.Interop.Outlook.OlkCommandButton.Click evento do botão que você adicionou à região de formulário no Outlook.

Além disso, adicione código para o FormRegionShowing evento atualiza os controles na região de formulário quando a região de formulário é exibido.

Para manipular os eventos dos controles na região de formulário

  1. Em Solution Explorer, TaskFormRegion.cs ou TaskFormRegion.vb de atalho e clique em Exibir código.

    TaskFormRegion.cs ou TaskFormRegion.vb é aberto no Editor de código.

  2. Add the following code to the TaskFormRegion class. Esse código preenche a caixa de combinação para a região de formulário com a linha de assunto de cada tarefa a partir 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. Add the following code to the TaskFormRegion class. Esse código realiza as seguintes tarefas:

    • Localiza o Microsoft.Office.Interop.Outlook.TaskItem na pasta tarefas chamando o FindTaskBySubjectName método auxiliar e passando o assunto da tarefa desejada. Você irá adicionar o FindTaskBySubjectName o método auxiliar na próxima etapa.

    • Adiciona o Microsoft.Office.Interop.Outlook.TaskItem.Subject e Microsoft.Office.Interop.Outlook.TaskItem.PercentComplete valores para a caixa de lista de tarefas dependentes.

    • Adiciona o assunto da tarefa para o campo oculto na região de formulário. O campo oculto armazena 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. Add the following code to the TaskFormRegion class. Esse código fornece o método auxiliar FindTaskBySubjectName 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. Add the following code to the TaskFormRegion class. Esse código realiza as seguintes tarefas:

    • Atualiza a caixa de listagem a região de formulário com o status atual de conclusão de cada tarefa dependente.

    • Analisa o campo de texto oculto, para obter o assunto de cada tarefa dependente. Em seguida, localiza cada Microsoft.Office.Interop.Outlook.TaskItem na pasta tarefas chamando o FindTaskBySubjectName método auxiliar e passando o assunto de cada tarefa.

    • Adiciona o Microsoft.Office.Interop.Outlook.TaskItem.Subject e Microsoft.Office.Interop.Outlook.TaskItem.PercentComplete valores para a caixa de lista de tarefas dependentes.

    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. Substituir o TaskFormRegion_FormRegionShowing o manipulador de eventos com o código a seguir. Esse código realiza as seguintes tarefas:

    • Preenche a caixa de combinação para a região de formulário com assuntos de tarefa quando a região de formulário é exibido.

    • Chamadas de RefreshTaskListBox método auxiliar, quando a região de formulário é exibido. Isso exibe as tarefas dependentes que foram 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);
    
    }
    

Teste a região de formulário do Outlook

Para testar a região de formulário, adicione tarefas à lista de tarefas de pré-requisito na região do formulário. Atualizar o status de conclusão de uma tarefa de pré-requisito e, em seguida, exiba o status atualizado de conclusão da tarefa na lista de tarefas de pré-requisito.

Para testar a região de formulário

  1. Press F5 to run the project.

    Inicia o Outlook.

  2. No Outlook, crie uma tarefa, executando uma das seguintes tarefas:

    • Outlook 2010, sobre o Home , clique em Novos itense, em seguida, clique em tarefa.

    • No Outlook 2007, sobre o arquivo , aponte para novae, em seguida, clique em tarefa.

  3. No formulário de tarefas, digite tarefa dependente do assunto campo.

  4. No tarefa guia da faixa de opções, no Ações de grupo, clique em Salvar & Fechar.

  5. No Outlook, crie uma instância de sua região de formulário executando uma das seguintes tarefas:

  6. Outlook 2010, sobre o Home , clique em Novos itens, clique em Mais itense, em seguida, clique em Escolher formulário.

  7. No Outlook 2007, sobre o arquivo , aponte para novae, em seguida, clique em Escolher formulário.

  8. No Escolher formulário caixa de diálogo, clique em TaskFormRegione em seguida, clique em Abrir.

    O TaskFormRegion região de formulário é exibido. Este formulário substitui o formulário da tarefa inteira. O Selecionar uma tarefa para adicionar à lista de tarefas dependentes caixa de combinação é preenchida com outras tarefas na pasta tarefas.

  9. No formulário de tarefas, no assunto , digite tarefa principal.

  10. No Selecionar uma tarefa para adicionar à lista de tarefas dependentes caixa de combinação, selecione Tarefa dependentee em seguida, clique em Adicionar tarefa dependente.

    0% Concluído - tarefa dependente aparece no Esta tarefa depende das seguintes tarefas caixa de listagem. Isso demonstra que é manipulado com êxito o Microsoft.Office.Interop.Outlook.OlkCommandButton.Click o evento do botão.

  11. Salve e feche o Tarefa principal item.

  12. Reabra o item de tarefa dependente no Outlook.

  13. No formulário de tarefas dependentes, alterar o % concluída campo de 50%.

  14. No tarefa guia da faixa de opções de tarefa dependente, no Ações de grupo, clique em Salvar & Fechar.

  15. Reabra o Tarefa principal item no Outlook.

    50% Concluído - tarefa dependente agora aparece no Esta tarefa depende das seguintes tarefas caixa de listagem.

Próximas etapas

Você pode aprender mais sobre como personalizar a interface do usuário de um aplicativo do Outlook com estes tópicos:

Consulte também

Tarefas

Demonstra Passo a passo: A criação de 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

Como: Acessar o Item do Outlook exibe a região de formulário

Conceitos

Acessar uma região de formulário em tempo de execução

Diretrizes para criação de regiões de formulário do Outlook

Associar uma região de formulário uma classe de mensagem do Outlook

Ações personalizadas nas regiões de formulário do Outlook

Outros recursos

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