Identificativo articolo: 292062 - Ultima modifica: giovedì 23 novembre 2006 - Revisione: 1.1

OL2002: Come gestire elementi imprevisti in un insieme

Questo articolo è stato precedentemente pubblicato con il codice di riferimento I292062
Espandi tutto | Chiudi tutto

Sommario

Se si utilizza il modello di oggetti di Outlook per passare ciclicamente da un elemento all'altro in una cartella, assicurarsi che la soluzione funzionerà anche se la cartella contiene elementi imprevisti.

Informazioni

Gli esempi di elementi che potrebbero trovarsi inaspettatamente in una cartella comprendono:
  • Una convocazione di riunione o una richiesta di attività nella cartella Posta in arrivo.
  • Un file da un'origine esterna, come un documento di Microsoft Word o un foglio di lavoro di Microsoft Excel. Questi file potrebbero essere inseriti direttamente in una cartella da un'altra applicazione o potrebbero essere stati trascinati nella cartella.
  • Un messaggio di conflitto inviato da Microsoft Exchange, se più persone hanno modificato contemporaneamente un elemento in una cartella pubblica.
  • Un elemento basato su un modulo creato con Exchange Forms Designer (EFD). Questi tipi di elementi non funzionano esattamente come quelli di Outlook in qualsiasi circostanza. Ad esempio, non è possibile aggiungere a livello di programmazione un allegato che funge da collegamento per un elemento basato su EFD.
  • Un elemento Lista di distribuzione in una cartella Contatti. Queste liste sono memorizzate nella cartella predefinita Contatti e sono associate a una classe messaggio IPM.DistList.
La cartella Posta in arrivo è di solito più problematica poiché l'utente ha in genere un controllo inferiore sugli elementi inseriti nella cartella. Inoltre Outlook inserisce tutte le liste di distribuzione nella cartella Contatti.

NOTA: in Outlook 98 (in modalità Solo posta Internet) queste liste di distribuzione eventualmente presenti nella cartella non erano visibili tramite l'interfaccia utente e venivano create e memorizzate dalla Rubrica di Windows.

In genere non si verificano problemi se il codice fa riferimento a questi elementi. I problemi insorgono invece quando si tenta di fare riferimento alla proprietà di un particolare tipo di elemento e la proprietà non esiste.

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 a 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 la seguente pagina Web (informazioni in lingua inglese):
https://partner.microsoft.com/global/30000104 (https://partner.microsoft.com/global/30000104)
Per ulteriori informazioni sulle opzioni di supporto disponibili da Microsoft, visitare la seguente pagina Web:
http://www.microsoft.com/italy/support/default.htm (http://www.microsoft.com/italy/support/default.htm)
Di seguito sono riportati alcuni approcci che è possibile adottare per evitare questi tipi di problemi. Scegliere l'approccio più adatto alla soluzione specifica, il tipo di cartella utilizzato e i tipi di elementi che potrebbero avere un'influenza negativa sulla soluzione.

  • Utilizzare la funzione TypeName per verificare il tipo di oggetto a cui viene fatto riferimento.
    If TypeName(objMyItem) = "ContactItem" Then...
  • Controllare la proprietà MessageClass di un elemento.
    If Left(objMyItem.MessageClass, 11) = "IPM.Contact" Then...
  • Utilizzare l'intercettazione degli errori per ignorare semplicemente le righe di codice che potrebbero creare problemi.
    For Each oMyMailItem in oMyInboxItems
       On Error Resume Next
       oMyMailItem.VotingOptions = ""
       oMyMailItem.Save
    Next

Riferimenti

Per ulteriori informazioni sulle risorse disponibili e sulle risposte alle domande più frequenti relative alle soluzioni di Microsoft Outlook, vedere il seguente articolo della Microsoft Knowledge Base (gli articoli con prefisso "Q" contengono informazioni in lingua inglese):
287530  (http://support.microsoft.com/kb/287530/IT/ ) 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 KB292062
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