Exemplarische Vorgehensweise: Entwerfen eines Outlook-Formularbereichs

Benutzerdefinierte Formularbereiche erweitern Standard- oder benutzerdefinierte Microsoft Office Outlook-Formulare. In dieser exemplarischen Vorgehensweise entwerfen Sie einen benutzerdefinierten Formularbereich, der als neue Seite im Inspektor-Fenster eines Kontaktelements angezeigt wird. Dieser Formularbereich zeigt eine Zuordnung jeder Adresse an, die für den Kontakt aufgeführt ist, indem die Adressinformationen an die Windows Live Local Search-Website gesendet werden. Informationen zu Formularbereichen finden Sie unter Erstellen von Outlook-Formularbereichen.

Gilt für: Die Informationen in diesem Thema gelten für VSTO-Add-In-Projekte für Outlook. Weitere Informationen finden Sie unter features available by Office-App lication and project type.

In dieser exemplarischen Vorgehensweise werden die folgenden Aufgaben veranschaulicht:

  • Erstellen eines neuen Outlook VSTO-Add-In-Projekts.

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

  • Entwerfen des Layouts des Formularbereichs.

  • Anpassen des Verhaltens des 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. Diese Elemente sind von der jeweiligen Visual Studio-Version und den verwendeten Einstellungen abhängig. Weitere Informationen finden Sie unter Personalisieren von Visual Studio-IDE.

Voraussetzungen

Zum Abschließen dieser exemplarischen Vorgehensweise benötigen Sie Folgendes:

link to video Eine Videoversion dieses Themas finden Sie unter Video how to: Design an Outlook form region.

Erstellen eines neuen Outlook VSTO-Add-In-Projekts

Erstellen Sie zunächst ein Outlook VSTO-Add-In-Basisprojekt.

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

  1. Erstellen Sie in Visual Studio ein Outlook VSTO-Add-In-Projekt mit dem Namen MapItAddIn.

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

  3. Speichern Sie das Projekt in einem beliebigen Verzeichnis.

    Weitere Informationen finden Sie unter How to: Create Office projects in Visual Studio.

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

Eine Outlook-VSTO-Add-In-Projektmappe enthält mindestens ein Outlook-Formularbereichelement. Fügen Sie Ihrem Projekt mithilfe des Assistenten für den neuen Outlook-Formularbereich ein Formularbereichselement hinzu.

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

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

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

  3. Wählen Sie im Dialogfeld "Neues Element hinzufügen" die Option "Outlook-Formularbereich" aus, nennen Sie die Datei "MapIt", und klicken Sie dann auf "Hinzufügen".

    Der Assistent "NewOutlook-Formularbereich " wird gestartet.

  4. Klicken Sie auf der Seite "Formularbereich auswählen" auf " Entwerfen eines neuen Formularbereichs" und dann auf "Weiter".

  5. Klicken Sie auf dem Typ des Formularbereichs, den Sie erstellen möchten, auf "Trennen", und klicken Sie dann auf "Weiter".

    Ein separater Formularbereich fügt einem Outlook-Formular eine neue Seite hinzu. Weitere Informationen zu Formularbereichstypen finden Sie unter Erstellen von Outlook-Formularbereichen.

  6. Geben Sie auf der Seite "Beschreibenden Text angeben" ein, und wählen Sie die Seite "Anzeigeeinstellungen " aus, und geben Sie "Zuordnen" in das Feld "Name " ein.

    Dieser Name wird auf dem Menüband im Inspektor-Fenster angezeigt, wenn das Kontaktelement geöffnet ist.

  7. Wählen Sie Inspektoren aus, die sich im Verfassenmodus befinden, und Inspektoren, die sich im Lesemodus befinden, und klicken Sie dann auf "Weiter".

  8. Deaktivieren Sie auf der Seite "Nachrichtenklassen identifizieren", auf der diese Formularbereichseite angezeigt wird, deaktivieren Sie "E-Mail-Nachricht", wählen Sie "Kontakt" aus, und klicken Sie dann auf " Fertig stellen".

    Ihrem Projekt wird eine MapIt.cs - oder MapIt.vb-Datei hinzugefügt.

Entwerfen des Layouts des Formularbereichs

Entwickeln Sie Formularbereiche visuell mithilfe des Formularbereich-Designers. Sie können verwaltete Steuerelemente auf die Oberfläche des Formularbereich-Designers ziehen. Verwenden Sie den Designer und das Eigenschaftenfenster , um das Steuerelementlayout und die Darstellung anzupassen.

So entwerfen Sie das Layout des Formularbereichs

  1. Erweitern Sie in Projektmappen-Explorer das MapItAddIn-Projekt, und doppelklicken Sie dann 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 dann auf Eigenschaften.

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

    Auf diese Weise wird sichergestellt, dass der Formularbereich groß genug ist, um eine Zuordnung anzuzeigen.

  4. Klicken Sie im Menü Ansicht auf Toolbox.

  5. Fügen Sie auf der Registerkarte "Allgemeine Steuerelemente " der Toolbox einen WebBrowser zum Formularbereich hinzu.

    Der WebBrowser zeigt eine Karte jeder Adresse an, die für den Kontakt aufgeführt ist.

Anpassen des Verhaltens des Formularbereichs

Fügen Sie den Formularbereich-Ereignishandlern Code hinzu, um das Verhalten eines Formularbereichs zur Laufzeit anzupassen. Für diesen Formularbereich untersucht der Code die Eigenschaften eines Outlook-Elements und bestimmt, ob der Map It-Formularbereich angezeigt wird. Wenn der Formularbereich angezeigt wird, navigiert der Code zu Windows Live Local Search und lädt eine Zuordnung jeder im Outlook-Kontaktelement aufgeführten Adresse.

So passen Sie das Verhalten des Formularbereichs an

  1. Klicken Sie in Projektmappen-Explorer mit der rechten Maustaste auf "MapIt.cs" oder "MapIt.vb", und klicken Sie dann auf "Code anzeigen".

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

  2. Erweitern Sie den Codebereich " Formularbereich Factory ".

    Die Formularbereichsfactory-Klasse namens MapItFactory wird bereitgestellt.

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

    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 durchgeführt:

    • Verketten jeder Adresse im Kontaktelement und Erstellen eine URL-Zeichenfolge.

    • Aufrufen der Methode Navigate des WebBrowser-Objekts und Übergeben der URL-Zeichenfolge als Parameter.

      Die Website für lokale Suche wird im Map It-Formularbereich angezeigt und zeigt jede Adresse im Testbereich an.

      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

Wenn Sie das Projekt ausführen, öffnet Visual Studio Outlook. Öffnen Sie ein Kontaktelement, um den Map It-Formularbereich anzuzeigen. Der Map It-Formularbereich wird als Seite in Form eines beliebigen Kontaktelements angezeigt, das eine Adresse enthält.

So testen Sie den Map It-Formularbereich

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

    Outlook wird geöffnet.

  2. Klicken Sie in Outlook auf der Registerkarte "Start " auf " Neue Elemente" und dann auf " Kontakt".

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

    Adresstyp Adresse
    Geschäftlich 4567 Main St. Buffalo, NY
    Home 1234 North St. Buffalo, NY
    Andere 3456 Main St. Seattle, WA
  4. Speichern und schließen Sie das Kontaktelement.

  5. Öffnen Sie das Ann Beebe-Kontaktelement erneut.

    In Outlook kann dies in der Gruppe "Suchen" erfolgen, indem sie entweder das Adressbuch für Kontakte öffnen oder "Ann Beebe" in "Suchen" Personen eingeben.

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

    Der Map It-Formularbereich wird geöffnet und zeigt die Website für lokale Suche an. Die Adressen "Geschäftlich", "Start" und "Andere " werden auf dem Scratch pad angezeigt. Wählen Sie im Testbereich eine Adresse aus, die Sie zuordnen möchten.

Nächste Schritte

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