Compartilhar via


Demonstra Passo a passo: Importação uma região de formulário que É criada no Outlook

Se aplica a

As informações contidas neste tópico se aplicam apenas às especificado Ferramentas do Visual Studio para o Office projetos e as versões do Microsoft Office.

Tipo de Projeto

  • Projetos de nível de aplicativo

Versão do Microsoft Office

  • Outlook 2007

For more information, see Recursos disponíveis pelo aplicativo e o tipo de projeto.

Esta explicação passo a passo demonstra como Design uma região de formulário no Microsoft Office Outlook e Importarar, em seguida, adicione a região de formulário em um Ferramentas do Visual Studio para o Office Outlook - no projeto usando o Assistente de Novo área de formulário.Criar a região de formulário no Outlook possibilita adicionar controles nativos do Outlook à região de formulário que Ligar aos dados do Outlook.Depois de importar a região de formulário, você pode manipular os eventos de cada Controlarar.

Essa explicação passo a passo ilustra as seguintes tarefas:

  • Criar uma região de formulário usando o designer de região de formulário no Outlook.

  • Importar uma região de formulário um Outlook Adicionar no projeto.

  • Manipular os eventos dos controles na região de formulário.

Observação:

Seu computador pode mostrar diferentes nomes ou localizações para alguns dos elementos de 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

Para completar este passo a passo, são necessários os seguintes componentes:

  • Ferramentas do Visual Studio para o Office (um componente opcional do O Visual Studio 2008 Professional e Visual Studio Team System).

  • Microsoft Office Outlook 2007.

Observação:

Seu computador pode mostrar diferentes nomes ou localizações para alguns dos elementos de 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.

Criar uma região de formulário usando o designer de região de formulário no Outlook

Nesta etapa você irá Design uma região de formulário no Outlook.Você poderá, em seguida, salvar a região de formulário em um local fácil de localizar para que você pode Importará-lo para Visual Studio.

Essa região de formulário de exemplo substitui completamente o formulário de tarefa normal.Ele fornece uma maneira de controlar o progresso de Tudo as tarefas que devem ser concluídas antes da tarefa principal pode ser executada (tarefas de pré-requisito).A região de formulário exibe uma lista das tarefas pré-requisitos e mostra o status de conclusão de cada tarefa na lista.Os usuários podem adicionar tarefas à lista e Remover-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 no Outlook

  1. Iniciar Microsoft Office Outlook 2007.

  2. No menu Ferramentas, aponte para de formulários e, em seguida, clique em Design um formulário.

  3. Na caixa de design do formulário, clique em Tarefase clique em Abrir do .

  4. Na guia de Developer, no AAgruparar design, clique em Região de formulário e Novo área de formulário.

    Abre uma Novo região de formulário.Se o seletor de campos não Aparecer, clique em do seletor de campos no AAgruparar de A ferramentas.

  5. Arraste o campo de assunto e o campo de Concluir % de do seletor de campos para a região de formulário.

  6. No AAgruparar de A ferramentas, clique em Caixa de Ferramentas de Controlare para abrir a caixa de ferramentas .

  7. Arraste um rótulo de De caixa de ferramentas para a região de formulário.Posição o rótulo abaixo o assunto de Campos e % Concluir.

  8. Clique com o botão direito do mouse no rótulo e clique em Propriedades Avançados.

  9. Na janela Propriedades , definir Legenda propriedade a esta tarefa depende das tarefas a seguir, defina Propriedade de Largura como 200 e clique em Aplicar.

  10. Arraste um Controlarar Caixa de Listagem de De caixa de ferramentas para a região de formulário.Posição a Caixa de Listagem sob esta tarefa depende o rótulo de tarefas a seguir.

  11. Selecionar Caixa de Listagemgem que você acabou de adicionar.

  12. Na janela Properties, defina Largura como 300 e clique em Aplicar.

  13. Arraste um rótulo de De caixa de ferramentas para a região de formulário.Posição o rótulo abaixo dCaixa de Listagem.

  14. Selecionar o rótulo que você acabou Adicionado.

  15. Na janela Properties, defina a propriedade de Legenda para selecionar uma tarefa para adicionar à lista de tarefas dependentes, defina a propriedade de De largura de como 200 e, em seguida, clique em Aplicar.

  16. Arraste um Controlarar de caixa de combinação da De caixa de ferramentas para a região de formulário.Posição a Caixa de Combinação abaixo Selecionar uma tarefa para adicionar à lista de tarefas dependentes etiqueta.

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

  18. Na janela Properties, defina Propriedade de Largura como 300 e clique em Aplicar.

  19. Arraste um Controlarar de CommandButton da De caixa de ferramentas para a região de formulário.Posicione o botão de comando Avançar para a caixa de combinação.

  20. Selecionar o botão de comando que você acabou Adicionado.

  21. Na janela Properties, definida Nome como AddDependentTask, definido Legenda para adicionar tarefas dependentes, definido de largura de como 100 e, em seguida, clique em Aplicar.

  22. No do seletor de campos, clique em Novo.

  23. Na caixa de diálogo Novo campo , tipo hiddenField in the campo de nome e clique em OK.

  24. Arraste o campo de De hiddenField de da do seletor de campos para a região de formulário.

  25. Na janela Propriedades , defina Visível como 0 - False e clique em Aplicar.

  26. Na guia de Developer, no AAgruparar design, clique em De área de formulárioe clique em Salvar região de formulário como.Nomeie a região de formulário TaskFormRegion e Salvar-o em um diretório local no 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. O outlook Sair.

Criar um novo Outlook Adicionar - projeto

Nesta etapa, você criará um Outlook Adicionar no projeto.Posteriormente nesta explicação passo a passo, você importará a região de formulário em para o projeto.

Para criar um novo Outlook Adicionar - projeto

  1. Em Visual Studio, Criar um projeto de suplemento do Outlook 2007 com o nome TaskAddIn.

  2. Na caixa de diálogo de Do novo projeto de , Selecionar Criar Diretório for solução.

  3. Salvar o projeto para o diretório do projeto padrão.

    For more information, see Como: Criar o Visual Studio Tools para projetos do Office.

Importação a região de formulário

Você pode importar a região de formulário que você criou no Outlook para o Outlook Adicionar - projeto usando o Assistente de Novo região de formulário do Outlook.

Para importar a região de formulário para o Outlook Adicionar - projeto

  1. Em Gerenciador de Soluções, clique com o botão direito do mouse no projeto de TaskAddIn, aponte para Adicionare, em seguida, clique em Novo item.

  2. No painel de Templates, Selecionar Região de formulário do Outlook, nomeie o arquivo TaskFormRegion e clique em Adicionar.

    The NewOutlook Form Regionwizard starts.

  3. No Selecionar como você deseja criar a página de de região de formulário, clique em Importar um armazenamento de formulário do Outlook (.ofs) de arquivoe, em seguida, clique em Procurar.

  4. Na caixa de diálogo Existente local do arquivo região de formulário Outlook , Procurar para o local do TaskFormRegion.ofs, Selecionar TaskFormRegion.ofs, clique em Abrir do e clique em Avançar de .

  5. No Selecionar o tipo da região de formulário que você deseja criar página de , clique em Substituir-Tudoe, em seguida, clique em Avançar.

    Uma região de formulário de Tudo de substituição substitui Tudo o formulário do Outlook.Para obter mais informações sobre tipos de região de formulário, consulte Criar regiões de formulário do Outlook.

  6. No Fornecer texto descritivo e Selecionar sua página de de preferências de Exibir, clique em Avançar de .

  7. Em Identificar classes de mensagem que exibirá esta página do formulário região , Que classes de mensagem Personalizar serão exiba este campo região de formulário, tipo IPM.Task.TaskFormRegion e clique em Concluir.

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

Manipular os eventos dos controles na área de formulário

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

Além disso, Adicionar código ao evento FormRegionShowing que atualiza 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 Gerenciador de Soluções, clique com o botão direito do mouse TaskFormRegion.cs ou TaskFormRegion.vb e clique em Exibir Code.

    TaskFormRegion.cs ou TaskFormRegion.vb abre no Editor de código.

  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 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 o Microsoft.Office.Interop.Outlook.TaskItem na pasta de tarefas chamando o método auxiliar FindTaskBySubjectName e passando o assunto da tarefa desejada.Você irá adicionar o método auxiliar FindTaskBySubjectName na Avançar etapa.

    • Adiciona a Microsoft.Office.Interop.Outlook.TaskItem.Subject e Microsoft.Office.Interop.Outlook.TaskItem.PercentComplete valores para os dependentes Lista de Tarefas caixa.

    • Adiciona o assunto da tarefa ao campo oculto na região do 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. Adicione o seguinte código à classe TaskFormRegion:Esse código fornece o de método auxiliar FindTaskBySubjectName que foi descrito precedente etapa.

    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 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.Ele, em seguida, localiza cada Microsoft.Office.Interop.Outlook.TaskItem na pasta de tarefas chamando o método auxiliar FindTaskBySubjectName e passando o assunto de cada tarefa.

    • Adiciona a Microsoft.Office.Interop.Outlook.TaskItem.Subject e Microsoft.Office.Interop.Outlook.TaskItem.PercentComplete valores para os dependentes Lista de Tarefas caixa.

    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 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 assuntos de tarefa quando a região de formulário for exibido.

    • Chama o método de auxiliar de RefreshTaskListBox quando aparece a região de formulário.Isso exibe quaisquer tarefas dependentes que foram Adicionados à 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 região de formulário, Adicionar tarefas para a lista de tarefas pré-requisito na região do formulário.Atualizar o status de conclusão de uma tarefa pré-requisito e, em seguida, Exibir o status de conclusão atualizada da tarefa na lista de tarefas de pré-requisitos.

Para testar a região de formulário

  1. Pressione F5 para executar o projeto.

    O Outlook inicia.

  2. No Outlook, no menu arquivo, aponte para Novoe, em seguida, clique em Tarefas.

  3. No formulário tarefa, tipo depende de tarefa no campo Assunto.

  4. Na guia Tarefas da Faixa de Opções, no AAgruparar ações, clique em Salvar & Fechar.

  5. No Outlook, no menu arquivo, aponte para Novoe, em seguida, clique em Escolher formulário.

  6. Na caixa de diálogo Escolher formulário , clique em TaskFormRegione clique em Abrir do .

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

  7. No formulário da tarefa, no campo Assunto, tipo principal tarefa.

  8. No Selecionar uma tarefa para adicionar à lista de caixa de combinação tarefas dependentes, Selecionar Tarefas dependentese, em seguida, clique em Adicionar tarefa dependente.

    0 % Concluir--tarefas dependentes aparece no Esta tarefa depende da caixa de listagem tarefas seguinte.Isso demonstra que é manipulada com êxito o evento Microsoft.Office.Interop.Outlook.OlkCommandButton.Click do botão.

  9. Salvar e Fechar o item de tarefa principal.

  10. Reabra o item de tarefa dependentes no Outlook.

  11. No formulário tarefas dependentes, Alterar o campo de Concluir % a 50 %.

  12. Na guia Tarefas dFaixa de Opções de tarefas dependentes, no AAgruparar ações, clique em Salvar & Fechar.

  13. Reabra o item do principal tarefa no Outlook.

    50 % Concluir--tarefas dependentesagora aparece no Esta tarefa depende da caixa de listagem tarefas seguinte.

Próximas etapas

Você pode saber mais sobre como personalizar a INTERFACE de um aplicativo Outlook estes tópicos:

Consulte também

Tarefas

Demonstra Passo a passo: Criar 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 que o Outlook exibindo uma região de formulário

Como: Acessar o item do Outlook que exibe a área de formulário

Conceitos

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

Criar regiões de formulário do Outlook

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 Personalizars em regiões de formulário do Outlook