Identificativo articolo: 290803 - Ultima modifica: giovedì 23 novembre 2006 - Revisione: 2.1

OL2002: Apertura di un modulo da un pulsante della barra degli strumenti

Questo articolo è stato precedentemente pubblicato con il codice di riferimento I290803

In questa pagina

Espandi tutto | Chiudi tutto

Sommario

In questo articolo viene spiegato come utilizzare Visual Basic Applications Edition per aprire un modulo personalizzato di Outlook direttamente dalla barra degli strumenti di Outlook.

NOTA: non è possibile utilizzare il codice riportato in questo articolo per aprire moduli creati con Exchange Forms Designer o altri moduli MAPI creati con C++. Il metodo Items.Add nel modello a oggetti di Outlook funziona solo con i moduli di Outlook.

Informazioni

È possibile creare una macro Visual Basic Applications Edition per aprire un modulo personalizzato. È quindi possibile assegnare la macro a un pulsante della barra degli strumenti o a un menu per agevolare l'apertura del modulo.

Per creare un modulo personalizzato

Se nella Posta in arrivo è già memorizzato un modulo personalizzato e si conosce la classe di messaggio del modulo, è possibile ignorare questa sezione e procedere con quella successiva.
  1. Nell'elenco delle cartelle fare clic su Posta in arrivo.
  2. Scegliere Moduli dal menu Strumenti, quindi Progetta modulo.
  3. Scegliere Messaggio, quindi Apri.
  4. Fare clic sulla pagina (P.2) del modulo.
  5. Se la finestra Strumenti di controllo non è visibile, scegliere Strumenti di controllo dal menu Moduli.
  6. Selezionare un controllo dalla casella e trascinarlo sul modulo.
  7. Scegliere Moduli dal menu Strumenti, quindi Pubblica modulo.
  8. Nell'elenco Cerca in selezionare Posta in arrivo.
  9. Per il nome visualizzato digitare FormsTest, quindi scegliere Pubblica. Tenere presente che la classe del messaggio è IPM.Note.MyForm.
  10. Scegliere per selezionare la casella di controllo Salva definizione modulo con elemento.
  11. Chiudere il modulo senza salvarlo.

Per creare il codice Visual Basic Applications Edition

Microsoft fornisce esempi di programmazione a scopo puramente illustrativo, senza alcuna garanzia di qualsiasi tipo, sia espressa che implicita, ivi incluse, senza limitazioni, le garanzie implicite di commerciabilità o idoneità per uno scopo particolare. In questo articolo si presume che l'utente conosca il linguaggio di programmazione in questione e gli strumenti utilizzati per creare ed eseguire il debug delle procedure. Gli esperti Microsoft sono autorizzati a fornire spiegazioni in merito alla funzionalità di una particolare procedura, ma in nessun caso a modificare questi esempi per fornire funzionalità aggiuntive o creare procedure atte a soddisfare specifiche esigenze. Se si dispone di esperienza di programmazione limitata, si consiglia di contattare un Microsoft Certified Partner o la filiale Microsoft locale per informazioni sulla consulenza tecnica. Per ulteriori informazioni in merito ai Microsoft Certified Partner, visitare il seguente sito Web Microsoft:
https://partner.microsoft.com/global/30000104 (https://partner.microsoft.com/global/30000104)
Per ulteriori informazioni sulle opzioni di supporto disponibili e su come contattare Microsoft, visitare il seguente sito Web Microsoft:
http://support.microsoft.com/default.aspx?scid=fh;[LN];CNTACTMS (http://support.microsoft.com/default.aspx?scid=fh;%5Bln%5D;cntactms)
Per creare il codice per l'apertura del modulo, effettuare le seguenti operazioni:
  1. Scegliere Macro dal menu Strumenti, quindi fare clic su Visual Basic Editor.
  2. Nel riquadro Progetto - Progetto1 fare doppio clic su Progetto1, quindi su Oggetti di Microsoft Outlook.
  3. Fare doppio clic su ThisOutlookSession per aprire una finestra di codice.
  4. Nella finestra del codice immettere il codice riportato di seguito:
    Sub DisplayForm()
       Set myFolder = Session.GetDefaultFolder(olFolderInbox)
       Set myItem = myFolder.Items.Add("IPM.Note.MyForm")
       myItem.Display
    End Sub
    					
    In questo codice si presuppone che il nome del modulo sia MyForm. Assicurarsi di modificare la terza riga del codice se la classe del messaggio del modulo in uso è diversa.

  5. Scegliere Salva VBAProject.OTM dal menu File.
  6. Chiudere Visual Basic Editor.

Per creare il pulsante della barra degli strumenti

  1. Scegliere Barre degli strumenti dal menu Visualizza, quindi Personalizza.
  2. Nell'elenco Categorie della scheda Comandi fare clic su Macro. La macro verrà indicata come Project1.ThisOutlookSession.DisplayForm.
  3. Trascinare il nome della macro su una barra degli strumenti.
  4. Dopo aver selezionato il pulsante della barra degli strumenti, fare clic su Modifica selezione per apportare eventuali modifiche all'aspetto del pulsante.
  5. Scegliere il pulsante Chiudi.

Per modificare il codice

Questo codice può essere utilizzato con qualsiasi modulo di messaggio di posta elettronica, sia esso pubblicato nella Libreria moduli personali, nella Libreria moduli organizzazione o nella cartella Posta in arrivo. Altri tipi di moduli sono tuttavia pubblicati di solito in una cartella in cui vengono salvati gli elementi risultanti, come quando ad esempio si crea un modulo contatto personalizzato.

Potrebbe essere necessario modificare il codice in modo che il modulo personalizzato sia reperibile in una cartella specifica, ovvero quella in cui è stato pubblicato, e quindi consentire il salvataggio dell'elemento nella cartella corretta. A tale scopo, viene utilizzata la seguente riga di codice:
Set myFolder = Session.GetDefaultFolder(olFolderInbox)
				
In questa riga di codice si presuppone che si desideri utilizzare la cartella Posta in arrivo predefinita. Se si desidera utilizzare una cartella diversa, sostituire olFolderInbox con una delle seguenti costanti di Outlook:
  • olFolderDeletedItems
  • olFolderOutBox
  • olFolderSentMail
  • olFolderCalendar
  • olFolderContacts
  • olFolderJournal
  • olFolderNotes
  • olFolderTasks
Nel codice si presuppone che la cartella da utilizzare sia quella dell'insieme predefinito di cartelle. L'insieme predefinito di cartelle è costituito da quelle cartelle allo stesso livello della cartella Posta in arrivo in cui vengono ricevuti i messaggi. Se tuttavia si desidera utilizzare un modulo personalizzato pubblicato in un'altra cartella, è necessario modificare il codice in modo appropriato.

Per ulteriori informazioni sui riferimenti ad altre cartelle in Outlook, vedere la sezione "Riferimenti a cartelle esistenti" del seguente articolo della Microsoft Knowledge Base:
290804  (http://support.microsoft.com/kb/290804/ ) Esempi di programmazione per fare riferimento a elementi e cartelle in Outlook 2002

Esempi di apertura di altri moduli

Per aprire un elemento contatto predefinito, modificare il codice in:
Sub DisplayForm()
   Set myFolder = Session.GetDefaultFolder(olContactFolder)
   Set myItem = myFolder.Items.Add("IPM.Contact")
   myItem.Display
End Sub
Per aprire un modulo personalizzato la cui classe di messaggio è IPM.Note.Test, pubblicato nella cartella Test della cartella Posta in arrivo predefinita, modificare il codice in:
Sub DisplayForm()
   Set myFolder = Session.GetDefaultFolder(olFolderInbox).Folders("Test")
   Set myItem = myFolder.Items.Add("IPM.Note.Test")
   myItem.Display
End Sub
Per aprire un modulo personalizzato la cui classe di messaggio è IPM.Appointment.Test, pubblicato nella Libreria moduli personali o nella Libreria moduli organizzazione, modificare il codice in:
Sub DisplayForm()
   Set myFolder = Session.GetDefaultFolder(olFolderCalendar)
   Set myItem = myFolder.Items.Add("IPM.Appointment.Test")
   myItem.Display
End Sub
Per aprire un modulo personalizzato in una cartella pubblica Microsoft Exchange denominata My Public Folder e posizionata nella parte iniziale della gerarchia delle cartelle pubbliche, utilizzare il seguente codice:
Sub DisplayForm()
   Set myFolder1 = Session.Folders("Public Folders")
   Set myFolder2 = myFolder1.Folders("All Public Folders")
   Set myFolder3 = myFolder2.Folders("My Public Folder")
   Set myItem = myFolder3.Items.Add("IPM.Appointment.Test")
   myItem.Display
End Sub

Per aprire la finestra di dialogo Scegli moduli

Invece di creare codice Visual Basic Applications Edition per aprire un modulo, può risultare preferibile aprire la finestra di dialogo Scegli moduli da un pulsante della barra degli strumenti. Per effettuare questa operazione senza aggiungere codice di programmazione, attenersi alla seguente procedura:
  1. Scegliere Barre degli strumenti dal menu Visualizza, quindi Personalizza.
  2. Nella casella Categorie della scheda Comandi fare clic su File.
  3. Nell'elenco Comandi trascinare Scegli modulo su una barra degli strumenti.
  4. Scegliere il pulsante Chiudi.

Riferimenti

Per ulteriori informazioni sulle risorse disponibili e sulle risposte alle domande frequenti relative alle soluzioni basate su Microsoft Outlook, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:
287530  (http://support.microsoft.com/kb/287530/ ) OL2002: Domande relative ai moduli personalizzati e alle soluzioni di Outlook

Le informazioni in questo articolo si applicano a
  • Microsoft Outlook 2002 Standard Edition
Chiavi: 
kbhowto KB290803
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.
 

Traduzione articoli

 

Related Support Centers