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
Microsoft Office-Version
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
Erstellen Sie in Visual Studio ein Outlook 2007-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 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
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, nennen Sie die Datei 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 der Multifunktionsleiste 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 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.
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 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 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
Drücken Sie F5, um das Projekt auszuführen.
Outlook wird geöffnet.
Zeigen Sie in Outlook im Menü Datei auf Neu, und klicken Sie 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
Privat
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 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:
- Informationen zum Anpassen der Multifunktionsleiste 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
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