Freigeben über


Exemplarische Vorgehensweise: Entwerfen eines Outlook-Formularbereichs

Mit benutzerdefinierten Formularbereichen werden standardmäßige oder benutzerdefinierte Microsoft Office Outlook-Formulare erweitert. In dieser exemplarischen Vorgehensweise entwerfen Sie einen benutzerdefinierten Formularbereich, der als neue Seite im Inspektorfenster eines Kontaktelements angezeigt wird. In diesem Formularbereich wird eine Zuordnung jeder für den Kontakt aufgeführten Adresse angezeigt, indem die Adressinformationen an die Website von Windows Live Local Search gesendet werden. Informationen über Formularbereiche finden Sie unter Erstellen von Outlook-Formularbereichen.

Betrifft: Die Informationen in diesem Thema betreffen Projekte auf Anwendungsebene für Outlook 2007 und Outlook 2010. Weitere Informationen finden Sie unter Verfügbare Funktionen nach Office-Anwendung und Projekttyp.

In dieser exemplarischen Vorgehensweise werden die folgenden Aufgaben veranschaulicht:

  • Erstellen eines neuen Outlook-Add-In-Projekts

  • Hinzufügen eines Formularbereichs zum Add-In-Projekt

  • Entwerfen des Layouts für den Formularbereich

  • Anpassen des Verhaltens der Formularbereichs

  • Testen des Outlook-Formularbereichs

Tipp

Auf Ihrem Computer werden möglicherweise andere Namen oder Speicherorte für die Benutzeroberflächenelemente von Visual Studio angezeigt als die in den folgenden Anweisungen aufgeführten. Die von Ihnen verwendete Visual Studio-Edition und die Einstellungen legen diese Elemente fest. Weitere Informationen finden Sie unter Arbeiten mit Einstellungen.

Vorbereitungsmaßnahmen

Zum Durchführen dieser exemplarischen Vorgehensweise benötigen Sie die folgenden Komponenten:

-

Eine Version von Visual Studio 2010, die die Microsoft Office-Entwicklungstools einschließt. Weitere Informationen finden Sie unter [Konfigurieren eines Computers zum Entwickeln von Office-Lösungen](bb398242\(v=vs.100\).md).
  • Microsoft Office Outlook 2007 oder Outlook 2010.

Link zu Video Eine Videoversion dieses Themas finden Sie unter Video How to: Designing an Outlook Form Region.

Erstellen eines neuen Outlook-Add-In-Projekts

Erstellen Sie zuerst ein grundlegendes Add-In-Projekt.

So erstellen Sie ein neues Outlook-Add-In-Projekt

  1. Erstellen Sie in Visual Studio ein Outlook-Add-In-Projekt mit der Bezeichnung "MapItAddIn".

  2. Wählen Sie im Dialogfeld Neues Projekt die Option Projektmappenverzeichnis erstellen.

  3. Speichern Sie das Projekt in einem beliebigen Verzeichnis.

    Weitere Informationen finden Sie unter Gewusst wie: Erstellen von Office-Projekten in Visual Studio.

Hinzufügen eines Formularbereichs zum Outlook-Add-In-Projekt

Eine Outlook-Add-In-Projektmappe kann mindestens ein Outlook-Formularbereichelement beinhalten. Fügen Sie dem Projekt mithilfe des Assistenten Neuer Outlook-Formularbereich einen Formularbereich hinzu.

So fügen Sie dem Outlook-Add-In-Projekt einen Formularbereich hinzu

  1. Wählen Sie im Projektmappen-Explorer das Projekt MapItAddIn aus.

  2. Klicken Sie im Menü Projekt auf Neues Element hinzufügen.

  3. Wählen Sie im Dialogfeld Neues Element hinzufügen das Element Outlook-Formularbereich aus, benennen Sie die Datei mit "MapIt", und klicken Sie anschließend auf Hinzufügen.

    Der Assistent Neuer Outlook-Formularbereich wird gestartet.

  4. Klicken Sie auf der Seite Legen Sie fest, wie der Formularbereich erstellt werden soll auf Neuen Formularbereich entwerfen, und klicken Sie anschließend auf Weiter.

  5. Klicken Sie auf der Seite Wählen Sie den Typ des zu erstellenden Formularbereichs aus auf Separat und anschließend auf Weiter.

    Durch einen Formularbereich vom Typ separat wird einem Outlook-Formular eine neue Seite hinzugefügt. Weitere Informationen zu Formularbereichtypen finden Sie unter Erstellen von Outlook-Formularbereichen.

  6. Geben Sie auf der Seite Geben Sie eine Beschreibung ein, und wählen Sie die Anzeigeeinstellungen aus im Feld Name Folgendes ein: Map It.

    Dieser Name wird bei geöffnetem Kontaktelement auf dem Menüband des Inspektorfensters angezeigt.

  7. Wählen Sie Inspektoren im Verfassenmodus und Inspektoren im Lesemodus, und klicken Sie anschließend auf Weiter.

  8. Deaktivieren Sie auf der Seite Geben Sie die Meldungsklassen an, von denen dieser Formularbereich angezeigt wird die Option E-Mail-Nachricht, wählen Sie Kontakt aus, und klicken Sie anschließend auf Fertig stellen.

    Eine Datei mit der Bezeichnung MapIt.cs oder MapIt.vb wird dem Projekt hinzugefügt.

Entwerfen des Layouts für den Formularbereich

Formularbereiche können visuell mithilfe des Formularbereich-Designers entwickelt werden. Verwaltete Steuerelemente können auf die Oberfläche des Formularbereich-Designers gezogen werden. Passen Sie das Steuerelementlayout und die Darstellung mithilfe des Designers und des Fensters Eigenschaften an.

So entwerfen Sie das Layout für den Formularbereich

  1. Erweitern Sie im Projektmappen-Explorer das MapItAddIn-Projekt, und doppelklicken Sie anschließend auf MapIt.cs oder MapIt.vb, um den Formularbereich-Designer zu öffnen.

  2. Klicken Sie mit der rechten Maustaste auf den Designer, und klicken Sie anschließend auf Eigenschaften.

  3. Legen Sie im Eigenschaftenfenster die Eigenschaft Größe auf 664, 469 fest.

    Dadurch wird sichergestellt, dass der Formularbereich groß genug für das Anzeigen einer Karte ist.

  4. Klicken Sie im Menü Ansicht auf Toolbox.

  5. Fügen Sie auf der Registerkarte Allgemeine Steuerelemente der Toolbox dem Formularbereich das WebBrowser-Steuerelement hinzu.

    Das WebBrowser-Steuerelement zeigt eine Karte von jeder für den Kontakt aufgeführten Adresse an.

Anpassen des Verhaltens des Formularbereichs

Fügen Sie den Ereignishandlern des Formularbereichs Code hinzu, um das Verhalten eines Formularbereichs während der Laufzeit anzupassen. Für diesen Formularbereich wird der Code dazu verwendet, die Eigenschaften eines Outlook-Elements zu prüfen und zu bestimmen, ob der Formularbereich Map It angezeigt werden soll. Wird der Formularbereich angezeigt, navigiert der Code zu Windows Live Local Search und lädt eine Karte jeder im Outlook-Kontaktelement aufgeführten Adresse.

So passen Sie das Verhalten des Formularbereichs an

  1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf MapIt.cs oder MapIt.vb und anschließend auf Code anzeigen.

    MapIt.cs oder MapIt.vb wird im Code-Editor geöffnet.

  2. Erweitern Sie den Codebereich Formularbereichsfactory.

    Die Factoryklasse des Formularbereichs mit der Bezeichnung MapItFactory wird verfügbar gemacht.

  3. Fügen Sie dem MapItFactory_FormRegionInitializing-Ereignishandler den folgenden Code hinzu. Dieser Ereignishandler wird aufgerufen, wenn der Benutzer ein Kontaktelement öffnet. Mit dem folgenden Code wird bestimmt, ob das Kontaktelement eine Adresse beinhaltet. Beinhaltet das Kontaktelement keine Adresse, legt dieser Code die Cancel-Eigenschaft der FormRegionInitializingEventArgs-Klasse auf true fest, und der Formularbereich wird nicht angezeigt. Andernfalls löst das Add-In das FormRegionShowing-Ereignis aus und zeigt den Formularbereich an.

    Private Sub MapItFactory_FormRegionInitializing(ByVal sender As Object, ByVal e As Microsoft.Office.Tools.Outlook.FormRegionInitializingEventArgs) Handles Me.FormRegionInitializing
    
        Dim myItem As Outlook.ContactItem = CType(e.OutlookItem, Outlook.ContactItem)
    
        If Not (myItem Is Nothing) Then
            If Not (myItem.BusinessAddress Is Nothing) AndAlso myItem.BusinessAddress.Trim().Length > 0 Or (Not (myItem.HomeAddress Is Nothing) AndAlso myItem.HomeAddress.Trim().Length > 0) Or (Not (myItem.OtherAddress Is Nothing) AndAlso myItem.OtherAddress.Trim().Length > 0) Then
                Return
            End If
        End If
    
        e.Cancel = True
    
    End Sub
    
    private void MapItFactory_FormRegionInitializing(object sender,
        Microsoft.Office.Tools.Outlook.FormRegionInitializingEventArgs e)
    {
        Outlook.ContactItem myItem = (Outlook.ContactItem)e.OutlookItem;
    
        if (myItem != null)
        {
            if ((myItem.BusinessAddress != null &&
                    myItem.BusinessAddress.Trim().Length > 0) ||
                (myItem.HomeAddress != null && 
                    myItem.HomeAddress.Trim().Length > 0) ||
                (myItem.OtherAddress != null && 
                    myItem.OtherAddress.Trim().Length > 0))
            {
                return;
            }
        }
    
        e.Cancel = true;
    }
    
  4. Fügen Sie dem FormRegionShowing-Ereignishandler den folgenden Code hinzu. Mit diesem Code werden die folgenden Aufgaben ausgeführt:

    • Verkettet jede Adresse im Kontaktelement und erstellt eine URL-Zeichenfolge.

    • Ruft die Navigate-Methode des WebBrowser-Objekts auf und übergibt die URL-Zeichenfolge als Parameter.

    Die Website für lokale Suche wird im Formularbereich Map It angezeigt und zeigt jede Adresse einen zusätzlichen Zwischenspeicher für Entwürfe (Scratch-Pad) an.

    Private Sub MapIt_FormRegionShowing(ByVal sender As System.Object, _
        ByVal e As System.EventArgs) Handles MyBase.FormRegionShowing
        Dim tempLoc As String = ""
        Dim defaultAddress As String = ""
        Dim scratchPadAddress As String = ""
    
        Dim myItem As Outlook.ContactItem = _
            CType(Me.OutlookItem, Outlook.ContactItem)
    
        If Not (myItem Is Nothing) Then
            If Not (myItem.HomeAddress Is Nothing) And _
                myItem.HomeAddress.Trim().Length > 0 Then
                tempLoc = myItem.HomeAddressStreet.Trim() + " " _
                    + myItem.HomeAddressCity + " " + myItem.HomeAddressState + _
                        " " + myItem.HomeAddressPostalCode
                If myItem.HomeAddress = myItem.MailingAddress Then
                    defaultAddress = tempLoc + "_Home"
                Else
                    scratchPadAddress += "adr." + tempLoc + "_Home~"
                End If
            End If
            If Not (myItem.BusinessAddress Is Nothing) And _
                myItem.BusinessAddress.Trim().Length > 0 Then
                tempLoc = myItem.BusinessAddressStreet.Trim() + " " _
                    + myItem.BusinessAddressCity + " " + _
                        myItem.BusinessAddressState + " " + _
                            myItem.BusinessAddressPostalCode
                If myItem.BusinessAddress = myItem.MailingAddress Then
                    defaultAddress = tempLoc + "_Business"
                Else
                    scratchPadAddress += "adr." + tempLoc + "_Business~"
                End If
            End If
            If Not (myItem.OtherAddress Is Nothing) And _
                myItem.OtherAddress.Trim().Length > 0 Then
                tempLoc = myItem.OtherAddressStreet.Trim() + " " + _
                    myItem.OtherAddressCity + " " + myItem.OtherAddressState + _
                        " " + myItem.OtherAddressPostalCode
                If myItem.OtherAddress = myItem.MailingAddress Then
                    defaultAddress = tempLoc + "_Other"
                Else
                    scratchPadAddress += "adr." + tempLoc + "_Other~"
                End If
            End If
        End If
    
        WebBrowser1.Navigate(("http://local.live.com/default.aspx?style=r&where1=" _
            + defaultAddress + "&sp=" + scratchPadAddress))
    
    End Sub
    
    private void MapIt_FormRegionShowing(object sender, EventArgs e)
    {
        string tempLoc = "";
        string defaultAddress = "";
        string scratchPadAddress = "";
    
        Outlook.ContactItem myItem = (Outlook.ContactItem)this.OutlookItem;
    
        if (myItem != null)
        {
            if (myItem.HomeAddress != null && 
                    myItem.HomeAddress.Trim().Length > 0)
            {
                tempLoc = myItem.HomeAddressStreet.Trim() + " " + 
                    myItem.HomeAddressCity + " " + myItem.HomeAddressState + 
                        " " + myItem.HomeAddressPostalCode;
                if (myItem.HomeAddress == myItem.MailingAddress)
                {
                    defaultAddress = tempLoc + "_Home";
                }
                else
                {
                    scratchPadAddress += "adr." + tempLoc + "_Home~";
                }
            }
            if (myItem.BusinessAddress != null && 
                    myItem.BusinessAddress.Trim().Length > 0)
            {
                tempLoc = myItem.BusinessAddressStreet.Trim() + 
                    " " + myItem.BusinessAddressCity + " " + 
                        myItem.BusinessAddressState + " " + 
                            myItem.BusinessAddressPostalCode;
                if (myItem.BusinessAddress == myItem.MailingAddress)
                {
                    defaultAddress = tempLoc + "_Business";
                }
                else
                {
                    scratchPadAddress += "adr." + tempLoc + "_Business~";
                }
            }
            if (myItem.OtherAddress != null && myItem.OtherAddress.Trim().Length > 0)
            {
                tempLoc = myItem.OtherAddressStreet.Trim() + " " + 
                    myItem.OtherAddressCity + " " + myItem.OtherAddressState + 
                        " " + myItem.OtherAddressPostalCode;
                if (myItem.OtherAddress == myItem.MailingAddress)
                {
                    defaultAddress = tempLoc + "_Other";
                }
                else
                {
                    scratchPadAddress += "adr." + tempLoc + "_Other~";
                }
            }
        }
    
        webBrowser1.Navigate("http://local.live.com/default.aspx?style=r&where1=" 
            + defaultAddress + "&sp=" + scratchPadAddress);
    
    }
    

Testen des Outlook-Formularbereichs

Beim Ausführen des Projekts wird Outlook von Visual Studio geöffnet. Öffnen Sie ein Kontaktelement, um den Formularbereich Map It anzuzeigen. Der Formularbereich Map It wird als Seite im Formular jedes Kontaktelements, das eine Adresse beinhaltet, angezeigt.

So testen Sie den Formularbereich Map It

  1. Drücken Sie F5, um das Projekt auszuführen.

    Outlook wird geöffnet.

  2. Erstellen Sie in Outlook einen Kontakt, indem Sie eine der folgenden Aufgaben ausführen:

    • Klicken Sie in Outlook 2010 auf der Registerkarte Startseite auf Neue Elemente und dann auf Kontakt.

    • Zeigen Sie in Outlook 2007 im Menü Datei auf Neu, und klicken Sie dann auf Kontakt.

  3. Geben Sie im Kontaktformular als Kontaktnamen Ann Beebe ein, und geben Sie anschließend die folgenden drei Adressen an.

    Adresstyp

    Adresse

    Geschäftlich

    4567 Main St. Buffalo, NY

    POS1

    1234 North St. Buffalo, NY

    Andere

    3456 Main St. Seattle, WA

  4. Speichern und schließen Sie das Kontaktelement.

  5. Öffnen Sie erneut das Kontaktelement Ann Beebe.

  6. Klicken Sie in der Gruppe Anzeigen des Menübands des Elements auf Map It, um den Formularbereich Map It zu öffnen.

    Der Formularbereich Map It wird geöffnet, und die lokale Suchwebsite erscheint. Die Adressen Geschäftlich, Privat und Andere werden im zusätzlichen Zwischenspeicher für Entwürfe (Scratch-Pad) angezeigt. Wählen Sie im zusätzlichen Zwischenspeicher für Entwürfe (Scratch-Pad) eine zuzuordnende Adresse aus.

Nächste Schritte

Weitere Informationen zum Anpassen der Benutzeroberfläche einer Outlook-Anwendung finden Sie in diesen Themen:

Siehe auch

Aufgaben

Exemplarische Vorgehensweise: Importieren eines in Outlook entworfenen Formularbereichs

Gewusst wie: Hinzufügen eines Bereichs zu einem Outlook-Add-In-Projekt

Gewusst wie: Verhindern der Anzeige eines Formularbereichs in Outlook

Gewusst wie: Zugreifen auf das Outlook-Element, das den Formularbereich anzeigt.

Konzepte

Zugreifen auf einen Formularbereich zur Laufzeit

Richtlinien zum Erstellen von Outlook-Formularbereichen

Zuordnen eines Formularbereichs zu einer Outlook-Nachrichtenklasse

Benutzerdefinierte Aktionen in Outlook-Formularbereichen

Weitere Ressourcen

Erstellen von Outlook-Formularbereichen