Condividi tramite


Procedura dettagliata: Progettare un'area del modulo di Outlook

Le aree del modulo personalizzate estendono i moduli standard o personalizzati di Microsoft Office Outlook. In questa procedura dettagliata verrà progettata un'area del modulo personalizzata che viene visualizzata come una nuova pagina nella finestra di controllo di un contatto. Quest'area del modulo visualizza una mappa di ogni indirizzo elencato per il contatto, inviando le informazioni sull'indirizzo al sito Web di ricerca locale di Windows Live. Per informazioni sulle aree del modulo, vedere Creare aree del modulo di Outlook.

Si applica a: le informazioni contenute in questo argomento si applicano ai progetti di componente aggiuntivo VSTO per Outlook. Per altre informazioni, vedere Funzionalità disponibili per app Office lication e tipo di progetto.

In questa procedura dettagliata sono illustrati i task seguenti:

  • Creazione di un nuovo progetto di componente aggiuntivo VSTO per Outlook.

  • Aggiunta di un'area del modulo al progetto di componente aggiuntivo VSTO.

  • Progettazione del layout dell'area del modulo.

  • Personalizzazione del comportamento dell'area del modulo.

  • Test dell'area del modulo di Outlook.

Nota

I nomi o i percorsi visualizzati per alcuni elementi dell'interfaccia utente di Visual Studio nelle istruzioni seguenti potrebbero essere diversi nel computer in uso. La versione di Visual Studio in uso e le impostazioni configurate determinano questi elementi. Per altre informazioni, vedere Personalizzare l'IDE di Visual Studio.

Prerequisiti

Per completare questa procedura dettagliata, è necessario disporre dei componenti seguenti:

link to video Per una versione video di questo argomento, vedere Video procedura: Progettare un'area del modulo di Outlook.

Creare un nuovo progetto di componente aggiuntivo VSTO di Outlook

Creare prima un progetto di componente aggiuntivo VSTO di base.

Per creare un nuovo progetto di componente aggiuntivo VSTO di Outlook

  1. In Visual Studio creare un progetto di componente aggiuntivo VSTO di Outlook con il nome MapItAddIn.

  2. Nella finestra di dialogo Nuovo progetto selezionare Crea directory per soluzione.

  3. Salvare il progetto in qualsiasi directory.

    Per altre informazioni, vedere Procedura: Creare progetti di Office in Visual Studio.

Aggiungere un'area del modulo al progetto di componente aggiuntivo VSTO di Outlook

Una soluzione di componente aggiuntivo VSTO di Outlook può contenere uno o più elementi dell'area del modulo di Outlook. Aggiungere un elemento dell'area del modulo al progetto tramite la procedura guidata Nuova area del modulo di Outlook.

Per aggiungere un'area del modulo al progetto di componente aggiuntivo VSTO di Outlook

  1. In Esplora soluzioni selezionare il progetto MapItAddIn.

  2. Dal menu Progetto fare clic su Aggiungi nuovo elemento.

  3. Nella finestra di dialogo Aggiungi nuovo elemento selezionare Area modulo di Outlook, assegnare al file il nome MapIt e quindi fare clic su Aggiungi.

    Viene avviata la procedura guidata Area modulo NewOutlook.

  4. Nella pagina Selezionare la modalità di creazione dell'area del modulo fare clic su Progetta una nuova area del modulo e quindi su Avanti.

  5. Nella pagina Selezionare il tipo di area del modulo che si desidera creare fare clic su Separato e quindi su Avanti.

    Un'area del modulo separata aggiunge una nuova pagina a un modulo di Outlook. Per altre informazioni sui tipi di area del modulo, vedere Creare aree del modulo di Outlook.

  6. Nella pagina Specifica testo descrittivo e selezionare la pagina delle preferenze di visualizzazione digitare Esegui mapping nella casella Nome .

    Questo nome viene visualizzato sulla barra multifunzione della finestra del controllo quando il contatto è aperto.

  7. Selezionare Inspectors that are in compose mode and Inspectors that are in read mode, and then click Next.

  8. Nella pagina Identificare le classi di messaggi che visualizzeranno l'area del modulo deselezionare Messaggio di posta elettronica, selezionare Contatto e quindi fare clic su Fine.

    Al progetto viene aggiunto un file MapIt.cs o MapIt.vb .

Progettare il layout dell'area del modulo

Sviluppare visivamente le aree del modulo usando la finestra di progettazione dell'area del modulo. È possibile trascinare i controlli gestiti sull'area di progettazione aree del modulo. Utilizzare la finestra di progettazione e la finestra Proprietà per regolare il layout e l'aspetto del controllo.

Per progettare il layout dell'area del modulo

  1. In Esplora soluzioni espandere il progetto MapItAddIn, quindi fare doppio clic su MapIt.cs o MapIt.vb per aprire Progettazione aree del modulo.

  2. Fare clic con il pulsante destro del mouse sulla finestra di progettazione, quindi scegliere Proprietà.

  3. Nella finestra Proprietà impostare Dimensioni su 664, 469.

    Ciò garantisce che l'area del modulo sia sufficiente grande per visualizzare una mappa.

  4. Scegliere Casella degli strumenti dal menu Visualizza.

  5. Nella scheda Controlli comuni della casella degli strumenti aggiungere un controllo WebBrowser all'area del modulo.

    WebBrowser visualizzerà una mappa di ogni indirizzo elencato per il contatto.

Personalizzare il comportamento dell'area del modulo

Aggiungere codice ai gestori eventi dell'area del modulo per personalizzare il modo in cui un'area del modulo si comporta in fase di esecuzione. Per questa area del modulo il codice esamina le proprietà di un elemento di Outlook e determina se visualizzare l'area del modulo Map It. Se viene visualizzata l'area del modulo, il codice consente di passare alla ricerca locale di Windows Live e caricare una mappa di ogni indirizzo elencato nel contatto di Outlook.

Per personalizzare il comportamento dell'area del modulo

  1. In Esplora soluzioni fare clic con il pulsante destro del mouse su MapIt.cs o MapIt.vb e quindi scegliere Visualizza codice.

    MapIt.cs o MapIt.vb viene aperto nell'editor di codice.

  2. Espandere l'area del codice di Factory dell'area del modulo .

    La classe della factory area del modulo denominata MapItFactory viene esposta.

  3. Aggiungere il codice seguente al gestore eventi MapItFactory_FormRegionInitializing. Questo gestore eventi viene chiamato quando l'utente apre un contatto. Il codice seguente determina se il contatto contiene un indirizzo. Se l'elemento contatto non contiene un indirizzo, questo codice imposta la Cancel proprietà della FormRegionInitializingEventArgs classe su true e l'area del modulo non viene visualizzata. In alternativa, il componente aggiuntivo VSTO genere l'evento FormRegionShowing e visualizza l'area del modulo.

    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. Aggiungere il codice seguente al gestore eventi FormRegionShowing. Il codice esegue queste operazioni:

    • Concatena ogni indirizzo nel contatto e crea una stringa URL.

    • Chiama il metodo Navigate dell'oggetto WebBrowser e passa la stringa URL come parametro.

      Il sito Web di ricerca locale viene visualizzato nell'area del modulo Map It e presenta ogni indirizzo nel riquadro di lavoro.

      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);
      
      }
      

Testare l'area del modulo di Outlook

Quando si esegue il progetto, Visual Studio apre Outlook. Aprire un contatto per visualizzare l'area del modulo Map It. L'area del modulo Map It viene visualizzata nel modulo di qualsiasi contatto che contiene un indirizzo.

Per eseguire il test dell'area del modulo Map It

  1. Premere F5 per eseguire il progetto.

    Viene aperto Outlook.

  2. In Outlook, nella scheda Home fare clic su Nuovi elementi e quindi su Contatto.

  3. Nel modulo di contatto digitare Ann Beebe come nome del contatto e quindi specificare i tre indirizzi seguenti.

    Tipo di indirizzo Indirizzo
    Aziendale 4567 Main St. Buffalo, NY
    Home 1234 North St. Buffalo, NY
    Altro 3456 Main St. Seattle, WA
  4. Salvare e chiudere il contatto.

  5. Riaprire l'elemento contatto Ann Beebe .

    In Outlook, questa operazione può essere eseguita nel gruppo Trova aprendo la Rubrica per contatti o digitando Ann Beebe in Cerca Persone.

  6. Nel gruppo Mostra della barra multifunzione dell'elemento fare clic su Mappa per aprire l'area del modulo Mappa.

    Viene visualizzata l'area del modulo Map It insieme al sito Web di ricerca locale. Gli indirizzi Business, Home e Other vengono visualizzati nel riquadro scratch. Nel riquadro di lavoro selezionare un indirizzo da mappare.

Passaggi successivi

È possibile trovare altre informazioni sulla personalizzazione dell'interfaccia utente di un'applicazione di Outlook negli argomenti seguenti: