Contact Outlook

apache88 Messages postés 78 Date d'inscription mercredi 26 janvier 2005 Statut Membre Dernière intervention 19 mars 2014 - 16 juil. 2007 à 14:34
apache88 Messages postés 78 Date d'inscription mercredi 26 janvier 2005 Statut Membre Dernière intervention 19 mars 2014 - 18 juil. 2007 à 14:01
Bonjour,

je souhaiterais créer un script qui serait capable de récupérer des informations des contacts outlook (nom de la personne et num de téléphone) et exporter le tout dans un fichier excel.

Mais je ne sais pas trop comment m'y prendre. Auriez-vous des exemples de codes pour m'aider?

Merci d'avance

3 réponses

apache88 Messages postés 78 Date d'inscription mercredi 26 janvier 2005 Statut Membre Dernière intervention 19 mars 2014
17 juil. 2007 à 08:20
Personne pour m'aider?

J'ai deja un peu avancé :

Imports

System.Reflection
Module

Module1

Sub Main()

Dim oApp
As Outlook.Application =
New Outlook.Application()

Dim oNS
As Outlook.NameSpace = oApp.GetNamespace(
"mapi")oNS.Logon(

"Outlook", Missing.Value,
False,
True)

'__________________________________________________________________

' Paramètres modifiables:

'__________________________________________________________________

Dim cContacts
As Outlook.MAPIFolder = oNS.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderContacts)

Dim oItems
As Outlook.Items = cContacts.Items

Dim oCt
As Outlook.ContactItem

TryoCt = oItems.GetFirst

 

' Propriétés.Console.WriteLine(oCt.FullName)

Console.WriteLine(oCt.Title)

Console.WriteLine(oCt.BusinessTelephoneNumber)

Console.WriteLine(oCt.CallbackTelephoneNumber)

Console.WriteLine(oCt.CarTelephoneNumber)

 

CatchConsole.WriteLine(

"an error occurred")

Finally 

'oCt.Display(True)oNS.Logoff()
oApp NothingoNS
NothingoItems NothingoCt

Nothing

End
Try 

End
SubEnd

Module

Seulement voila, il ne prend que le premier contact et je ne connais pas le paramètre qui permettrais de prendre tous les contact... je pense que c'est avec cette ligne qu'il faut changer quelquechose:
oCt = oItems.GetFirst

à voir ça demande de prendre le premier mais j'essayé d'autre paramètre mais je ne trouve toujours pas pour tout prendre.

Merci d'avance
0
Molenn Messages postés 797 Date d'inscription mardi 7 juin 2005 Statut Membre Dernière intervention 23 février 2011 7
17 juil. 2007 à 10:13
Si ça peut t'aider, c'est une procédure que je suis en train de me faire sous VBA pour récupérer ma liste de contacts OutLook. Tu devrais pouvoir adapter ça sous VB.Net sans trop de mal je pense.
J'ai encore des soucis, entre autre que je n'arrive pas à filtre mes contacts (mais j'ai enlevé ce bout de code dans ce qui suit), et la procédure plante quand je tombe sur une liste de diffusion ... D'ailleurs, au passage, si quelqu'un arrive à me dire comment au choix, soit ne pas en tenir compte de ces listes, soit au contraire, pouvoir remonter les infos les concernant, je suis preneur.

Public Sub TestContactsOutlook()
   
    'Nécessite la référence Microsoft Outlook 11.0 Object Library
   
    'Définition des variables
    Dim OutlookAppli As Outlook.Application
    Dim OutlookNomEspace As Outlook.Namespace
    Dim OutlookRépertoire As Outlook.MAPIFolder
    Dim OutlookListeContacts As Outlook.Items
    Dim OutlookContact As Outlook.ContactItem
   
    'Définition du dossier Contacts
    Set OutlookAppli = New Outlook.Application
    Set OutlookNomEspace = OutlookAppli.GetNamespace("MAPI")
    Set OutlookRépertoire = OutlookNomEspace.GetDefaultFolder(olFolderContacts)
    Set OutlookListeContacts = OutlookRépertoire.Items


    'Défilement de la liste des contacts
    MsgBox "Nb de contacts : " & OutlookListeContacts.Count
    For Each OutlookContact In OutlookListeContacts
        MsgBox OutlookContact.FullName & " - " & OutlookContact.PrimaryTelephoneNumber
    Next


End Sub

Si tu prends OutlookContact dans ton bout de code, tu auras toutes les propriétés possibles à remonter pour un contact, téléphone, date anniversaire, etc ...

Molenn

P.S. :
Si quelqu'un sait aussi m'éclairer sur la façon de filtrer et trier les contacts, qu'il n'hésite pas surtout.
Jje tente un code de ce genre en ce moment, mais sans succès :
Set OutlookContactsFiltrés = OutlookRépertoire.Items
OutlookContactsFiltrés.Restrict ("[FirstName] = 'Virginie'")    OutlookContactsFiltrés.Sort "[FullName]", False
0
apache88 Messages postés 78 Date d'inscription mercredi 26 janvier 2005 Statut Membre Dernière intervention 19 mars 2014
18 juil. 2007 à 14:01
J'ai oublié de préciser un truc... en fait dans tout ça, il y a un serveur Exchange et en fait le script va chercher les infos sur exchange et non pas sur outlook installé en local, se qui change beaucoup.

Merci
0
Rejoignez-nous