Sdílet prostřednictvím


Názorný postup: Import oblastí formuláře, který je určen v aplikaci Outlook

Tento návod ukazuje, jak navrhnout formuláře oblast ve aplikace Microsoft Office Outlook a importovat oblast formuláře pomocí do projektu doplněk pro aplikaci Outlook Nová oblast formuláře průvodce.Navrhování oblast formuláře v aplikaci Outlook umožňuje přidat ovládací prvky nativní aplikace Outlook do oblasti formuláře, který vazbu dat aplikace Outlook.Po importu oblast formuláře lze zpracovávat události každého ovládacího prvku.

Platí pro: Informace v tomto tématu se vztahují na projekty na úrovni aplikace v aplikacích Outlook 2013 a Outlook 2010. Další informace naleznete v tématu Funkce aplikace Office a typ projektu.

Tento návod ilustruje následující úkoly:

  • Návrh oblasti formuláře pomocí návrháře oblast formuláře aplikace Outlook.

  • Oblast formuláře import do doplněk pro aplikaci Outlook projektu.

  • Zpracování událostí ovládacích prvků na oblast formuláře.

[!POZNÁMKA]

Ve vašem počítači se pro některé z prvků uživatelského rozhraní sady Visual Studio mohou zobrazit jiné názvy a umístění, než jsou uvedeny v následujících pokynech. Tyto prvky jsou určeny verzí aplikace Visual Studio a použitým nastavením. Další informace naleznete v tématu Nastavení aplikace Visual Studio.

Požadavky

Chcete-li dokončit tento návod, potřebujete následující komponenty:

-

Edice sady Visual Studio 2012, která zahrnuje nástroje Microsoft Office Developer Tools. Další informace naleznete v tématu [Konfigurace počítače vyvinout řešení Office](bb398242\(v=vs.110\).md).
  • Outlook 2013 nebo Outlook 2010.

[!POZNÁMKA]

Váš počítač může zobrazit jiné názvy nebo umístění pro některé prvky uživatelského rozhraní sady Visual Studio v následujících pokynech.Tyto prvky jsou určeny verzí aplikace Visual Studio a použitým nastavením.Další informace naleznete v tématu Nastavení aplikace Visual Studio.

odkaz na video Související video ukázku naleznete v tématu jak udělat i vytvořit Outlook formuláře oblastí pomocí Visual Studio 2008?.

Návrh oblasti formuláře pomocí návrháře oblast formuláře aplikace Outlook

V tomto kroku bude návrh oblasti formuláře v aplikaci Outlook.Budete pak uložit oblast formuláře na snadno najít umístění tak, aby bylo možné importovat do Visual Studio.

Tento příklad oblast formuláře zcela nahradí obvyklým formulář úkolů.Umožňuje provést způsobem sledovat všechny úkoly, které musí být dokončen před hlavním úkolem (předpoklad úkoly).Oblast formuláře zobrazí seznam požadovaných úkolů a ukazuje stav dokončení jednotlivých úkolů v seznamu.Uživatelé mohou přidat do seznamu úkolů a odeberte je.Mohou také aktualizovat stav dokončení každého úkolu.

Návrh oblasti formuláře pomocí návrháře oblast formuláře aplikace Outlook

  1. Spustíte aplikace Microsoft Office Outlook.

  2. V aplikaci Outlook na Developer karta, klepněte na návrhu formuláře.Další informace naleznete v tématu Jak: zobrazit na pásu kartu Vývojář.

  3. V Návrhu formuláře klepněte na tlačítko úkola klepněte na tlačítko Otevřít.

  4. V aplikaci Outlook na Developer v kartě návrhu skupinu, klepněte na Nová oblast formuláře.

    Otevře se nová oblast formuláře.Pokud Polí není zobrazen, klepněte na tlačítko Polí v Nástroje skupiny.

  5. Přetáhněte Předmět pole a Dokončeno % z pole Polí oblasti formuláře.

  6. V Nástroje skupinu, klepněte na Ovládací prvky otevřete nástrojů.

  7. Přetáhněte popisek z nástrojů oblasti formuláře.Umístěte popisek pod Předmět a Dokončeno % pole.

  8. Klepněte pravým tlačítkem myši na popisek a poté klepněte na tlačítko Rozšířené vlastnosti.

  9. V Vlastnosti okno, nastavit Titulek vlastnost úkolu závisí na následující úkoly, nastavte Šířka vlastnost 200 a pak klepněte na použít.

  10. Přetáhněte ovládací prvek ListBox z nástrojů oblasti formuláře.Umístění seznamu pod tento úkol závisí na štítku následující úkoly.

  11. Vyberte seznam, který jste právě přidali.

  12. V Vlastnosti okno, nastavit Šířka 300 a pak klepněte na použít.

  13. Přetáhněte popisek z nástrojů oblasti formuláře.Pozice popisku pod seznam.

  14. Vyberte popisek, který jste právě přidali.

  15. V Vlastnosti okno, nastavit Titulek nastavit vlastnost vyberte úkol, který chcete přidat do seznamu závislých úkolů Šířka vlastnost 200 a pak klepněte na použít.

  16. Přetáhněte ovládací prvek ComboBox z nástrojů oblasti formuláře.Umístěte pod vyberte úkol přidat do seznamu závislých úkolů popisek pole se seznamem.

  17. Vyberte pole se seznamem, který jste právě přidali.

  18. V Vlastnosti okno, nastavit Šířka 300 a pak klepněte na vlastnost použít.

  19. Přetáhněte ovládací prvek PříkazovéTlačítko z nástrojů oblasti formuláře.U pole se seznamem umístěte příkazové tlačítko.

  20. Vyberte příkazové tlačítko, které jste právě přidali.

  21. V Vlastnosti okno, nastavit název AddDependentTask, nastavte Titulek závislý úkol přidat sady Šířka 100 a pak klepněte na použít.

  22. V Polí, klepněte na Nový.

  23. V Nové pole typu hiddenField v dialogovém název pole a potom klepněte na tlačítko OK.

  24. Přetáhněte hiddenField z pole Polí oblasti formuláře.

  25. V Vlastnosti okno, nastavit viditelné 0 - False a klepněte na tlačítko použít.

  26. V aplikaci Outlook na Developer karta v Návrh skupinu, klepněte Uložit tlačítko a potom klepněte na tlačítko Uložit oblast formuláře jako.

    Název TaskFormRegion oblast formuláře a uložit do místního adresáře v počítači.

    Aplikace Outlook uloží jako soubor aplikace Outlook Form Storage (OFS) oblast formuláře.Oblast formuláře je uložen pod názvem TaskFormRegion.ofs.

  27. Ukončete aplikaci Outlook.

Vytvoření nové aplikace Outlook přidat do projektu

V tomto kroku vytvoříte projekt doplněk pro aplikaci Outlook.Dále v tomto návodu bude importovat oblast formuláře do projektu.

Chcete-li vytvořit nový doplněk pro aplikaci Outlook projekt

  1. V Visual Studio, vytvoření doplněk pro aplikaci Outlook projektu s názvem TaskAddIn.

  2. V Nový projekt dialogovém vytvořit adresář pro řešení.

  3. Uložte projekt do výchozího adresáře projektu.

    Další informace naleznete v tématu Jak: vytvoření Office projekty v aplikaci Visual Studio.

Import oblast formuláře

Oblast formuláře, která je navržena v aplikaci Outlook do projektu doplněk pro aplikaci Outlook pomocí můžete importovat Nová oblast formuláře aplikace Outlook průvodce.

Oblast formuláře importujte do projektu doplněk pro aplikaci Outlook

  1. V Průzkumníku, klepněte pravým tlačítkem myši TaskAddIn projektu, přejděte na příkaz Přidata klepněte na tlačítko Nová položka.

  2. V šablony podokně vyberte Oblast formuláře aplikace Outlook, název souboru TaskFormRegion a potom klepněte na tlačítko Přidat.

    NovéOblast formuláře aplikace Outlook spustí průvodce.

  3. Na Vyberte způsob vytvoření oblasti formuláře stránky, klepněte na Outlook Form Storage (OFS) souboru importua klepněte na tlačítko Procházet.

  4. V Existující umístění souboru oblasti formuláře aplikace Outlook klepněte na tlačítko dialogové okno, přejděte do umístění TaskFormRegion.ofs, vyberte TaskFormRegion.ofs Otevříta klepněte na tlačítko Další.

  5. Na Vyberte typ formuláře oblast, kterou chcete vytvořit stránky, klepněte na nahradit všechnya klepněte na tlačítko Další.

    A nahradit všechny oblast formuláře nahradí celý formulář aplikace Outlook.Další informace o typy oblastí formuláře naleznete v Vytvoření oblasti formulářů aplikace Outlook.

  6. Na zadat popisný text a vyberte předvolby zobrazení stránky, klepněte na Další.

  7. Na identifikaci třídy zpráv, které se zobrazí tato oblast formuláře stránky v které třídy vlastní zprávy zobrazí v této oblasti formuláře pole zadejte IPM.Task.TaskFormRegion a pak klepněte na Dokončit.

    Soubor TaskFormRegion.cs nebo TaskFormRegion.vb je přidán do projektu.

Zpracování událostí ovládacích prvků na oblast formuláře

Nyní máte oblasti formuláře v projektu, můžete přidat kód, který zpracovává Microsoft.Office.Interop.Outlook.OlkCommandButton.Click události tlačítka, který je přidán do oblasti formuláře v aplikaci Outlook.

Také přidat kód FormRegionShowing události, který aktualizuje ovládací prvky na formuláři oblast po oblasti formuláře.

Zpracování událostí ovládacích prvků na oblast formuláře

  1. V Průzkumníku, TaskFormRegion.cs nebo TaskFormRegion.vb klepněte pravým tlačítkem myši a klepněte na tlačítko Zobrazení kódu.

    TaskFormRegion.cs nebo TaskFormRegion.vb se otevře v editoru kódu.

  2. Přidejte následující kód do třídy TaskFormRegion.Tento kód se naplní pole se seznamem na oblast formuláře s předmětem jednotlivých úkolů ze složky Úkoly aplikace 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. Přidejte následující kód do třídy TaskFormRegion.Tento kód provede následující úlohy:

    • Vyhledá Microsoft.Office.Interop.Outlook.TaskItem ve složce Úkoly voláním FindTaskBySubjectName pomocnou metodu a předáním předmětu požadovanou úlohu.Přidejte FindTaskBySubjectName pomocnou metodu v dalším kroku.

    • Přidá Microsoft.Office.Interop.Outlook.TaskItem.Subject a Microsoft.Office.Interop.Outlook.TaskItem.PercentComplete do seznamu úkolů závislých hodnot.

    • Skryté pole v oblasti formuláře přidá předmět úkolu.Skryté pole ukládá tyto hodnoty jako součást položka aplikace 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. Přidejte následující kód do třídy TaskFormRegion.Tento kód obsahuje pomocnou metodu FindTaskBySubjectName , byl popsán v předchozím kroku.

    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. Přidejte následující kód do třídy TaskFormRegion.Tento kód provede následující úlohy:

    • Aktualizuje seznam na oblast formuláře s aktuální stav dokončení každého úkolu závislé.

    • Analyzuje skryté textové pole Předmět každého závislého úkolu získat.Potom vyhledá každý Microsoft.Office.Interop.Outlook.TaskItem ve složce Úkoly voláním FindTaskBySubjectName pomocnou metodu a předáním předmětu jednotlivých úkolů.

    • Přidá Microsoft.Office.Interop.Outlook.TaskItem.Subject a Microsoft.Office.Interop.Outlook.TaskItem.PercentComplete do seznamu úkolů závislých hodnot.

    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. Nahradit TaskFormRegion_FormRegionShowing obslužnou rutinu následujícím kódem.Tento kód provede následující úlohy:

    • Naplní pole se seznamem na oblast formuláře s předměty úkolu po oblasti formuláře.

    • Volání RefreshTaskListBox pomocnou metodu, když se zobrazí oblast formuláře.Zobrazí závislé úlohy, které byly přidány do seznamu při předchozím otevření položky.

    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);
    
    }
    

Testování oblast formuláře aplikace Outlook

Testování oblast formuláře, přidáte úkoly do seznamu požadované úkoly v oblasti formuláře.Aktualizovat stav dokončení požadovaného úkolu a potom zobrazit stav aktualizované dokončení úkolu v seznamu úkolů nezbytných.

Testování oblast formuláře

  1. Stiskněte klávesu F5 ke spuštění projektu.

    Spuštění aplikace Outlook.

  2. V aplikaci Outlook na Home karta, klepněte na Nové položkya klepněte na tlačítko úkol.

  3. Ve formuláři úkolu zadejte úkol závislý Předmět pole.

  4. Na úkol kartu pásu karet, v Akce skupinu, klepněte na Uložit & Zavřít.

  5. V aplikaci Outlook na Home karta, klepněte na Nové položky, klepněte na Další položkya klepněte na tlačítko Zvolit formulář.

  6. V Zvolit formulář dialogové okno, klepněte na TaskFormRegiona klepněte na tlačítko Otevřít.

    TaskFormRegion se zobrazí v oblasti formuláře.Tento formulář se nahradí celý úkol formuláře.Vyberte úkol, který chcete přidat do seznamu závislých úkolů pole se seznamem je naplněn jiných úkolů ve složce Úkoly.

  7. Ve formuláři úkolu v Předmět pole, zadejte primární úkol.

  8. V Vyberte úkol, který chcete přidat do seznamu závislých úkolů pole se seznamem vyberte Závislý úkola klepněte na tlačítko Závislý úkol přidat.

    0 % Hotovo--závislý úkol se zobrazí v tohoto úkolu závisí na následující úkoly seznamu.Ukazuje, že můžete úspěšně zpracována Microsoft.Office.Interop.Outlook.OlkCommandButton.Click události tlačítka.

  9. Uložit a zavřít Primární úkol zboží.

  10. Závislý úkol v aplikaci Outlook znovu.

  11. Ve formuláři závislý úkol změnit Dokončeno % pole 50 %.

  12. Na úkol kartu pásu karet závislý úkol, v Akce skupinu, klepněte na Uložit & Zavřít.

  13. Znovu Primární úkol položky aplikace Outlook.

    50 % Dokončeno--závislý úkol se nyní zobrazí v tohoto úkolu závisí na následující úkoly seznamu.

Další kroky

Další informace o přizpůsobení uživatelského rozhraní aplikace Outlook z těchto témat:

Viz také

Úkoly

Názorný postup: Navrhování oblastí formuláře aplikace Outlook

Jak: oblast formuláře přidat do aplikace Outlook přidat do projektu

Jak: zabránit zobrazení oblastí formuláře aplikace Outlook

Koncepty

Přístup k formuláři regionu v době spuštění

Pokyny pro vytvoření oblasti formulářů aplikace Outlook

Přidružení oblasti formulář s třídou zprávy aplikace Outlook

Vlastní akce v oblasti formulářů aplikace Outlook

Další zdroje

Vytvoření oblasti formulářů aplikace Outlook