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 2013 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
Hinweis |
---|
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 Visual Studio-Einstellungen. |
Vorbereitungsmaßnahmen
Zum Durchführen dieser exemplarischen Vorgehensweise benötigen Sie die folgenden Komponenten:
-
Eine Version von Visual Studio 2012, die die Microsoft Office-Entwicklungstools einschließt. Weitere Informationen finden Sie unter [Konfigurieren eines Computers zum Entwickeln von Office-Lösungen](bb398242\(v=vs.110\).md).
- Outlook 2013 oder Outlook 2010.
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
Erstellen Sie in Visual Studio ein Outlook-Add-In-Projekt mit der Bezeichnung "MapItAddIn".
Wählen Sie im Dialogfeld Neues Projekt die Option Projektmappenverzeichnis erstellen.
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
Wählen Sie im Projektmappen-Explorer das Projekt MapItAddIn aus.
Klicken Sie im Menü Projekt auf Neues Element hinzufügen.
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 NeuerOutlook-Formularbereich wird gestartet.
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.
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.
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.
Wählen Sie Inspektoren im Verfassenmodus und Inspektoren im Lesemodus, und klicken Sie anschließend auf Weiter.
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
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.
Klicken Sie mit der rechten Maustaste auf den Designer, und klicken Sie anschließend auf Eigenschaften.
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.
Klicken Sie im Menü Ansicht auf Toolbox.
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
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.
Erweitern Sie den Codebereich Formularbereichsfactory.
Die Factoryklasse des Formularbereichs mit der Bezeichnung MapItFactory wird verfügbar gemacht.
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; }
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
Drücken Sie F5, um das Projekt auszuführen.
Outlook wird geöffnet.
In Outlook Startseite auf der Registerkarte auf, klicken Sie auf Neue Elemente und dann auf Kontakt.
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
Speichern und schließen Sie das Kontaktelement.
Öffnen Sie erneut das Kontaktelement Ann Beebe.
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:
- Informationen zum Anpassen des Menübands eines Outlook-Elements finden Sie unter Anpassen einer Multifunktionsleiste in Outlook.
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
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