Numéro d'article: 290658 - Dernière mise à jour: vendredi 24 novembre 2006 - Version: 6.3

Comment faire pour importer par programme des éléments Outlook à partir d'Access

Ancien nº de publication de cet article : F290658

Sommaire

Agrandir tout | Réduire tout
Pour vous procurer une version Microsoft Outlook 97 de cet article, reportez-vous à l'article 170320  (http://support.microsoft.com/kb/170320/ ) .
Pour vous procurer une version Microsoft Outlook 2000 de cet article, reportez-vous à l'article 208232  (http://support.microsoft.com/kb/208232/ ) .

Résumé

Cet article présente la création de contacts dans Microsoft Outlook à partir d'informations stockées dans une base de données Microsoft Access et fournit également un exemple de code. L'exemple de code qui figure dans la section Informations supplémentaires de cet article doit être exécuté à partir d'un module global Microsoft Access et peut servir de point de départ au développement d'une solution complète.

Plus d'informations

La fonction Importer et exporter de Microsoft Outlook ne vous autorise pas à importer ni à exporter des informations dans des champs (ou des propriétés) définis par l'utilisateur. Si vous souhaitez importer des informations dans ces champs, il se peut que vous ayez à les convertir et, pour cela, être amené à créer une solution de programmation utilisant Automation.

L'exemple de code suivant convertit plus particulièrement des informations provenant d'Access dans des contacts Outlook récemment créés, en utilisant DAO (Data Access Objects). En apportant quelques modifications, vous pouvez utiliser ce code comme base pour la création d'autres types d'éléments Outlook, tels que des rendez-vous, des notes, des tâches, etc.

Une présentation et un exemple de code distinct sont également disponibles sur le site Web de Microsoft à l'emplacement suivant. Il s'agit du premier exemple du livre blanc.
http://msdn2.microsoft.com/en-us/office/aa905351.aspx (http://msdn2.microsoft.com/en-us/office/aa905351.aspx)

Considérations de programmation

  • L'exemple de code suivant utilise la base de données Les Comptoirs incluse dans Access 2002. Si vous avez installé Microsoft Office à un emplacement différent de l'emplacement par défaut, assurez-vous de changer le chemin d'accès à la base de données dans l'exemple de code.
  • Vous devez définir une référence à la bibliothèque d'objets Microsoft Outlook 10.0. Une référence à la bibliothèque d'objets Microsoft DAO 3.6 et à la bibliothèque d'objets Microsoft Office 10.0 doivent être définies par défaut.
  • Les champs utilisés dans cet exemple sont du type texte, à la fois dans Access et dans Outlook. Pour convertir d'autres types de champs, vous devez modifier le code en conséquence.
  • Les contacts sont automatiquement placés dans le dossier Contacts par défaut, qui se situe au même niveau que la Boîte de réception.
  • La méthode CreateItem utilisée dans cet exemple crée un contact Outlook en utilisant le formulaire par défaut pour le dossier Contacts par défaut. Si vous avez créé un formulaire de contact Outlook personnalisé, vous devez associer le nom de votre formulaire personnalisé au champ MessageClass pour chaque élément.
Microsoft fournit des exemples de programmation à des fins d'illustration uniquement, sans garantie explicite ou implicite, y compris, de manière non limitative, les garanties implicites de qualité marchande et/ou d'adéquation à un usage particulier. Cet article suppose que vous connaissez le langage de programmation présenté et les outils utilisés pour créer et déboguer des procédures. Les techniciens du Support technique Microsoft peuvent vous expliquer les fonctionnalités d'une procédure particulière, mais ils ne peuvent pas modifier les exemples en vue de vous fournir des fonctionnalités supplémentaires ou de créer des procédures répondant à vos besoins spécifiques. Si vous ne maîtrisez que partiellement la programmation, vous pouvez contacter un partenaire certifié Microsoft (Microsoft Certified Partner) ou le service client Microsoft au 0825 827 829 qui pourra transmettre votre demande de consulting aux équipes Microsoft appropriées. Pour plus d'informations sur les partenaires certifiés Microsoft, reportez-vous au site Web de Microsoft à l'adresse suivante :
https://partner.microsoft.com/global/30000104 (https://partner.microsoft.com/global/30000104)
Pour plus d'informations sur les options de support technique disponibles et la façon de contacter Microsoft, reportez-vous au site Web de Microsoft à l'adresse suivante :
http://support.microsoft.com/default.aspx?scid=fh;FR;ASSISTEDOVER (http://support.microsoft.com/default.aspx?scid=fh;en-us;cntactms)

Exemple de code

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
				

Références

Pour plus d'informations sur l'exportation de données d'Outlook vers Access, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft.
290792  (http://support.microsoft.com/kb/290792/ ) Comment faire pour exporter par programme des éléments Outlook vers Access
Pour plus d'informations sur les ressources disponibles et les réponses aux questions les plus fréquemment posées sur les solutions Microsoft Outlook, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft.
287530  (http://support.microsoft.com/kb/287530/EN-US/ ) OL2002 : Questions sur les formulaires personnalisés et les solutions Microsoft Outlook

Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Outlook 2002 Standard
  • Microsoft Access 2002
Mots-clés : 
kbdatabase kbimport kbprogramming kbvba kbhowto KB290658
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.
 

Traductions disponibles

 

Related Support Centers