Procedura dettagliata: progettazione di 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 viene spiegato come progettare un'area di modulo personalizzata che viene visualizzata come una pagina nuova nella finestra di controllo di un elemento contatto.Questa area del modulo visualizza una mappa di ogni indirizzo elencato per il contatto, inviando le informazioni sull'indirizzo al sito Web Windows Live Local Search.Per informazioni sulle aree dei moduli, vedere Creazione di aree di modulo di Outlook.
Si applica a: le informazioni fornite in questo argomento sono valide per i progetti a livello di applicazione per Outlook 2013 e Outlook 2010. Per ulteriori informazioni, vedere Funzionalità disponibili in base ai tipi di progetto e applicazioni di Office.
In questa procedura dettagliata vengono illustrate le attività seguenti:
Creazione di un nuovo progetto di componente aggiuntivo per Outlook.
Aggiunta dell'area di modulo al progetto di componente aggiuntivo.
Progettazione del layout dell'area di modulo.
Personalizzazione del comportamento dell'area di modulo.
Test dell'area di modulo di Outlook.
[!NOTA]
Il computer potrebbe mostrare nomi o percorsi diversi per alcuni elementi dell'interfaccia utente di Visual Studio nelle istruzioni seguenti.Questi elementi sono determinati dall'edizione di Visual Studio in uso e dalle impostazioni utilizzate.Per ulteriori informazioni, vedere Impostazioni di Visual Studio.
Prerequisiti
Per completare la procedura dettagliata, è necessario disporre dei componenti seguenti:
-
Una versione di Visual Studio 2012 che include gli strumenti per sviluppatori di Microsoft Office. Per ulteriori informazioni, vedere [Configurazione di un computer per sviluppare soluzioni Office](bb398242\(v=vs.110\).md).
- Outlook 2013 o Outlook 2010.
Per una versione video di questo argomento, vedere la procedura video relativa alla progettazione di un'area del modulo di Outlook (la pagina potrebbe essere in inglese).
Creazione di un nuovo progetto di componente aggiuntivo per Outlook
Per prima cosa, creare un progetto di componente aggiuntivo di base.
Per creare un nuovo progetto di componente aggiuntivo per Outlook
In Visual Studio creare un progetto componente aggiuntivo di Outlook con nome MapItAddIn.
Selezionare Crea directory per soluzione nella finestra di dialogo Nuovo progetto.
Salvare il progetto in una directory qualsiasi.
Per ulteriori informazioni, vedere Procedura: creare progetti di Office in Visual Studio.
Aggiunta di un'area di modulo a un progetto di componente aggiuntivo per Outlook
Una soluzione componente aggiuntivo per Outlook può contenere uno o più elementi area di modulo di Outlook.Aggiungere un elemento area di modulo al progetto tramite la procedura guidata Nuova area del modulo di Outlook.
Per aggiungere un'area di modulo a un progetto di componente aggiuntivo per Outlook
In Esplora soluzioni selezionare il progetto MapItAddIn.
Scegliere Aggiungi nuovo elemento dal menu Progetto.
Nella finestra di dialogo Aggiungi nuovo elemento selezionare Area del modulo di Outlook, assegnare al file il nome MapIt, quindi scegliere Aggiungi.
Viene avviata la procedura guidata Nuova area del modulo di Outlook.
Nella pagina Selezionare la modalità di creazione dell'area del modulo, fare clic su Progetta nuova area del modulo e fare clic su Avanti.
Nella pagina Selezionare il tipo di area del modulo da creare selezionare Separa e scegliere Avanti.
Un'area di modulo separata aggiunge una nuova pagina in un modulo di Outlook.Per ulteriori informazioni sui tipi di area di modulo, vedere Creazione di aree di modulo di Outlook.
Nella casella Nome della pagina Fornire un testo descrittivo e selezionare le preferenze di visualizzazione digitare Map It.
Questo nome viene visualizzato nella barra multifunzione della finestra di controllo quando l'elemento del contatto viene aperto.
Selezionare Controlli in modalità composizione e Controlli in modalità lettura e fare clic su Avanti.
Nella pagina Identificare le classi di messaggi per la visualizzazione dell'area del modulo, deselezionare Messaggio, selezionare Contatto e fare clic su Fine.
Un file MapIt.cs o MapIt.vb viene aggiunto al progetto.
Progettazione del layout dell'area di modulo
Sviluppare visivamente le aree di modulo utilizzando Progettazione aree di modulo.È possibile trascinare i controlli gestiti nell'area di Progettazione aree di modulo.Utilizzare la finestra di progettazione e la finestra Proprietà per impostare il layout e l'aspetto del controllo.
Per progettare il layout dell'area di modulo
In Esplora soluzioni, espandere il progetto MapItAddIn e fare doppio clic su MapIt.cs o MapIt.vb per aprire Progettazione aree di modulo.
Fare clic con il pulsante destro del mouse sulla finestra di progettazione e scegliere Proprietà.
Nella finestra Proprietà impostare Dimensione su 664, 469.
In tal modo l'area del modulo sarà sufficientemente grande per visualizzare una mappa.
Scegliere Casella degli strumenti dal menu Visualizza.
Dalla scheda Controlli comuni della Casella degli strumenti aggiungere un controllo Browser all'area di modulo.
Il Browser visualizzerà una mappa di ogni indirizzo elencato per il contatto.
Personalizzazione del comportamento dell'area di modulo
Aggiungere il codice ai gestori eventi dell'area di modulo per personalizzare la modalità di comportamento di un'area di modulo in fase di esecuzione.Per questa area di modulo, il codice esamina le proprietà di un elemento di Outlook e determina se visualizzare l'area del modulo Map It.Se visualizza l'area del modulo, il codice passa a Windows Live Local Search e carica una mappa di ogni indirizzo elencato nell'elemento contatto di Outlook.
Per personalizzare il comportamento dell'area di modulo
In Esplora soluzioni fare clic con il pulsante destro del mouse su MapIt.cs o MapIt.vb, quindi scegliere Visualizza codice.
MapIt.cs o MapIt.vb viene aperto nell'editor di codice.
Espandere l'area di codice Factory area del modulo.
La classe factory dell'area di modulo denominata MapItFactory viene esposta.
Aggiungere il codice seguente al gestore eventi MapItFactory_FormRegionInitializing.Questo gestore eventi viene chiamato quando l'utente apre un elemento contatto.Il codice seguente determina se l'elemento contatto contiene un indirizzo.Se l'elemento contatto non contiene un indirizzo, questo codice imposta la proprietà Cancel della classe FormRegionInitializingEventArgs su true e l'area di modulo non viene visualizzata.In caso contrario, il componente aggiuntivo genera l'evento FormRegionShowing e visualizza l'area di modulo.
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; }
Aggiungere il codice seguente al gestore eventi FormRegionShowing.Mediante il codice vengono effettuate le seguenti attività:
Concatena ogni indirizzo nell'elemento contatto e crea una stringa URL.
Chiama il metodo Navigate dell'oggetto WebBrowser e passaggio della stringa URL come un parametro.
Il sito Web Local Search viene visualizzato nell'area del modulo Map It e presenta ogni indirizzo nel riquadro di lavoro.
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); }
Test dell'area di modulo di Outlook
Quando si esegue il progetto, in Visual Studio viene aperto Outlook.Aprire un elemento contatto per visualizzare l'area del modulo Map It.L'area del modulo Map It viene visualizzata come una pagina nel modulo di qualsiasi elemento contatto contenente un indirizzo.
Per eseguire il test dell'area di modulo Map It
Premere F5 per eseguire il progetto.
Viene aperto Outlook.
In Outlook, nella scheda Pagina iniziale, scegliere Nuovi elementiquindi fare clic Contatto.
Nel modulo del contatto, digitare Ann Beebe come nome del contatto e specificare i seguenti tre indirizzi.
Tipo di indirizzo
Address
Ufficio
4567 Main St.Buffalo, NY
Home
1234 North St.Buffalo, NY
Altro
3456 Main St.Seattle, WA
Salvare e chiudere l'elemento contatto.
Aprire nuovamente l'elemento contatto Ann Beebe.
Nel gruppo Mostra della barra multifunzione dell'elemento, fare clic su Map It per aprire l'area del modulo Map It.
L'area del modulo Map It viene visualizzata insieme al sito Web Local Search.Gli indirizzi Ufficio, Casa e Altro sono visualizzati nel riquadro di lavoro.Selezionare un indirizzo da mappare nel riquadro di lavoro.
Passaggi successivi
È possibile trovare ulteriori informazioni sulla personalizzazione dell'interfaccia utente di un'applicazione di Outlook nei seguenti argomenti:
- Per ulteriori informazioni sulla personalizzazione della barra multifunzione di un elemento Outlook, vedere Personalizzazione di una barra multifunzione per Outlook.
Vedere anche
Attività
Procedura dettagliata: importazione di un'area di modulo progettata in Outlook
Procedura: aggiungere un'area del modulo a un progetto di componente aggiuntivo per Outlook
Procedura: impedire la visualizzazione di un'area del modulo in Outlook
Concetti
Accesso a un'area del modulo in fase di esecuzione
Linee guida per la creazione delle aree di modulo di Outlook
Associazione di un'area del modulo a una classe messaggio di Outlook
Azioni personalizzate nelle aree di modulo di Outlook