Help and Support

Identificativo articolo: 290658 - Ultima modifica: venerdì 24 novembre 2006 - Revisione: 6.2

Importazione di elementi di Outlook da Microsoft Access a livello di programmazione

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

In questa pagina

Espandi tutto | Chiudi tutto
Per la versione di questo articolo relativa a Microsoft Outlook 97, vedere 170320  (http://support.microsoft.com/kb/170320/ ) .

Per la versione di questo articolo relativa a Microsoft Outlook 98, vedere 180981  (http://support.microsoft.com/kb/180981/ ) .

Per la versione di questo articolo relativa a Microsoft Outlook 2000, vedere 208232  (http://support.microsoft.com/kb/208232/ ) .

Sommario

In questo articolo vengono forniti una panoramica e un codice di esempio per la creazione di contatti di Microsoft Outlook da informazioni contenute in un database di Microsoft Access. Il codice di esempio riportato nella sezione Ulteriori informazioni, che dovrebbe essere eseguito da un modulo globale di Microsoft Access, costituisce una base di partenza per lo sviluppo di una soluzione completa.

Informazioni

La funzione Importazione/Esportazione di Outlook non consente di importare o esportare informazioni in campi definiti dall'utente (o proprietà). Per importare informazioni in questi campi, si consiglia di creare una soluzione di programmazione che utilizzi l'automazione per convertire le informazioni.

Il codice di esempio riportato di seguito consente di convertire automaticamente le informazioni di Access in nuovi contatti di Outlook utilizzando Data Access Objects (DAO). Apportando le dovute modifiche, questo codice potrà essere utilizzato come base di partenza per creare altri tipi di elementi di Outlook, quali appuntamenti, note, attività e così via.

Considerazioni sulla programmazione

  • Nel codice di esempio riportato di seguito viene utilizzato il database Northwind incluso in Access 2002. Se Microsoft Office è stato installato in un percorso diverso rispetto a quello predefinito, assicurarsi di modificare di conseguenza il percorso del database nel codice di esempio.
  • È necessario impostare un riferimento alla Libreria di oggetti di Microsoft Outlook 10.0. È necessario specificare come impostazione predefinita un riferimento alla libreria di oggetti Microsoft DAO 3.6 e la libreria di oggetti Microsoft Office 10.
  • In questo esempio sono utilizzati solo tipi di campi di testo sia in Access che in Outlook. Per convertire altri tipi di campi, modificare il codice di conseguenza.
  • I contatti vengono inseriti automaticamente nella cartella predefinita Contatto, che si trova allo stesso livello della cartella Posta in arrivo.
  • Il metodo CreateItem utilizzato in questo esempio consente di creare un nuovo contatto di Outlook utilizzando il modulo predefinito per la cartella predefinita dei contatti. Se si dispone di un modulo personalizzato per i contatti di Outlook, sarà necessario impostare il campo MessageClass di ciascun elemento in base al nome del modulo personalizzato.
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)

Codice di esempio

Sub ExportAccessContactsToOutlook()

   ' Set up DAO Objects.
   Dim oDataBase As DAO.Database
   Dim rst As DAO.Recordset
   Set oDataBase = OpenDatabase _
      ("c:\Program Files\Microsoft Office\Office10\Samples\Northwind.mdb")
   Set rst = oDataBase.OpenRecordset("Customers")

   ' Set up Outlook Objects.
   Dim ol As New Outlook.Application
   Dim olns As Outlook.Namespace
   Dim cf As Outlook.MAPIFolder
   Dim c As Outlook.ContactItem
   Dim Prop As Outlook.UserProperty

   Set olns = ol.GetNamespace("MAPI")
   Set cf = olns.GetDefaultFolder(olFolderContacts)

   With rst
      .MoveFirst

      ' Loop through the Microsoft Access records.
      Do While Not .EOF

         ' Create a new Contact item.
         Set c = ol.CreateItem(olContactItem)

         ' Specify which Outlook form to use.
         ' Change "IPM.Contact" to "IPM.Contact.<formname>" if you've
         ' created a custom Contact form in Outlook.
         c.MessageClass = "IPM.Contact"

         ' Create all built-in Outlook fields.
         If ![CompanyName] <> "" Then c.CompanyName = ![CompanyName]
         If ![ContactName] <> "" Then c.FullName = ![ContactName]

         ' Create the first user property (UserField1).
         Set Prop = c.UserProperties.Add("UserField1", olText)

         ' Set its value.
         If ![CustomerID] <> "" Then Prop = ![CustomerID]

         ' Create the second user property (UserField2).
         Set Prop = c.UserProperties.Add("UserField2", olText)

         ' Set its value and so on....
         If ![Region] <> "" Then Prop = ![Region]

         ' Save and close the contact.
         c.Save
         c.Close

         .MoveNext
      Loop
   End With

End Sub

Riferimenti

Per ulteriori informazioni sull'esportazione di dati da Outlook in Access, fare clic sul numero dell'articolo della Knowledge Base riportato di seguito:
290792  (http://support.microsoft.com/kb/290792/ ) Esportazione di elementi di Outlook in Microsoft Access a livello di programmazione
Per ulteriori informazioni sulle risorse disponibili e sulle risposte alle domande più frequenti relative alle soluzioni basate su Microsoft Outlook, fare clic sul numero dell'articolo della 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
  • Microsoft Access 2002 Standard Edition
Chiavi: 
kbdatabase kbimport kbprogramming kbvba kbhowto KB290658
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