Freigeben über


Exemplarische Vorgehensweise: Entwerfen eines Outlook-Formularbereichs

Aktualisiert: November 2007

Betrifft

Die Informationen in diesem Thema gelten nur für die angegebenen Visual Studio Tools for Office-Projekte und Versionen von Microsoft Office.

Projekttyp

  • Projekte auf Anwendungsebene

Microsoft Office-Version

  • Outlook 2007

Weitere Informationen hierzu finden Sie unter Verfügbare Features nach Anwendung und Projekttyp.

Mit benutzerdefinierten Formularbereichen werden standardmäßige oder benutzerdefinierte Microsoft Office Outlook 2007-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.

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

Hinweis:

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

Vorbereitungsmaßnahmen

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

  • Visual Studio Tools for Office (eine optionale Komponente von Visual Studio 2008 Professional und Visual Studio Team System).

  • Microsoft Office Outlook 2007.

  • Eine Verbindung zum Internet zur Verwendung des lokalen Suchdiensts.

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 2007-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 hierzu finden Sie unter Gewusst wie: Erstellen von Visual Studio Tools for Office-Projekte.

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, nennen Sie die Datei MapIt, und klicken Sie anschließend auf Hinzufügen.

    Der Assistent NeuerOutlook-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 der Multifunktionsleiste 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 Fenster Eigenschaften 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 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 folgenden Code hinzu. Durch diesen 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 führt Visual Studio Tools for Office das Add-In aus und öffnet Outlook. Ö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. Zeigen Sie in Outlook 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

    Privat

    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 der Multifunktionsleiste 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

Erstellen von Outlook-Formularbereichen

Richtlinien zum Erstellen von Outlook-Formularbereichen

Zuordnen eines Formularbereichs zu einer Outlook-Nachrichtenklasse

Benutzerdefinierte Aktionen in Outlook-Formularbereichen