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
Versão do Microsoft Office
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
Iniciar Microsoft Office Outlook 2007.
No menu Ferramentas, aponte para de formulários e, em seguida, clique em Design um formulário.
Na caixa de design do formulário, clique em Tarefase clique em Abrir do .
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.
Arraste o campo de assunto e o campo de Concluir % de do seletor de campos para a região de formulário.
No AAgruparar de A ferramentas, clique em Caixa de Ferramentas de Controlare para abrir a caixa de ferramentas .
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.
Clique com o botão direito do mouse no rótulo e clique em Propriedades Avançados.
Na janela Propriedades , definir Legenda propriedade a esta tarefa depende das tarefas a seguir, defina Propriedade de Largura como 200 e clique em Aplicar.
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.
Selecionar Caixa de Listagemgem que você acabou de adicionar.
Na janela Properties, defina Largura como 300 e clique em Aplicar.
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.
Selecionar o rótulo que você acabou Adicionado.
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.
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.
Selecionar a caixa de combinação que você acabou de adicionar.
Na janela Properties, defina Propriedade de Largura como 300 e clique em Aplicar.
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.
Selecionar o botão de comando que você acabou Adicionado.
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.
No do seletor de campos, clique em Novo.
Na caixa de diálogo Novo campo , tipo hiddenField in the campo de nome e clique em OK.
Arraste o campo de De hiddenField de da do seletor de campos para a região de formulário.
Na janela Propriedades , defina Visível como 0 - False e clique em Aplicar.
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.
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
Em Visual Studio, Criar um projeto de suplemento do Outlook 2007 com o nome TaskAddIn.
Na caixa de diálogo de Do novo projeto de , Selecionar Criar Diretório for solução.
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
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.
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.
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.
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 .
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.
No Fornecer texto descritivo e Selecionar sua página de de preferências de Exibir, clique em Avançar de .
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
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.
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); }
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; } }
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; }
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); } } }
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
Pressione F5 para executar o projeto.
O Outlook inicia.
No Outlook, no menu arquivo, aponte para Novoe, em seguida, clique em Tarefas.
No formulário tarefa, tipo depende de tarefa no campo Assunto.
Na guia Tarefas da Faixa de Opções, no AAgruparar ações, clique em Salvar & Fechar.
No Outlook, no menu arquivo, aponte para Novoe, em seguida, clique em Escolher formulário.
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.
No formulário da tarefa, no campo Assunto, tipo principal tarefa.
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.
Salvar e Fechar o item de tarefa principal.
Reabra o item de tarefa dependentes no Outlook.
No formulário tarefas dependentes, Alterar o campo de Concluir % a 50 %.
Na guia Tarefas dFaixa de Opções de tarefas dependentes, no AAgruparar ações, clique em Salvar & Fechar.
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:
Para saber mais sobre como projetar a aparência de uma região de formulário por arrastar controles gerenciados para um designer visual, consulte Demonstra Passo a passo: Criar uma região de formulário do Outlook.
Para saber sobre como personalizar a Faixa de Opções de um item do Outlook, consulte Personalizando uma faixa de opções para Outlook.
Para saber mais sobre como adicionar um painel de tarefas Personalizar ao Outlook, consulte Visão geral de painéis de tarefas Personalizar.
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