Contacts Windows

Signaler
Messages postés
40
Date d'inscription
samedi 1 mars 2003
Statut
Membre
Dernière intervention
26 janvier 2013
-
Messages postés
40
Date d'inscription
samedi 1 mars 2003
Statut
Membre
Dernière intervention
26 janvier 2013
-
Bonjour,

J'ai trouvé cet exemple de code pour lire les contacts windows (vista), mais je ne sais pas comment récupérer les numéros de téléphone.

Avec mes remerciements pour votre aide,

Bernard

Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
Dim Root As String
Dim Fic As String

Root = Environ("userprofile") & "\Contacts"
Fic = Dir(Root & "*.*")
While Len(Fic) > 0
GetContactInfo(Root & Fic)
Fic = Dir()
End While
End Sub

Private Sub GetContactInfo(ByVal ContactFile As String)
Dim objDom As New MSXML2.DOMDocument
Debug.Print(ContactFile)
objDom.load(ContactFile)
Debug.Print("Nom complet : " & GetNodList(objDom, "c:FormattedName"))
Debug.Print("Nom : " & GetNodList(objDom, "c:FamilyName"))
Debug.Print("Prénom : " & GetNodList(objDom, "c:GivenName"))
Debug.Print("E-mail : " & GetNodList(objDom, "c:Address"))
Debug.Print("Type : " & GetNodList(objDom, "c:Type"))
Debug.Print("Crée le : " & GetNodList(objDom, "c:CreationDate"))
' Téléphone ?????
' Télécopie ?????
' Téléphone cellulaire ????
objDom = Nothing
End Sub

Private Function GetNodList(ByVal objDom As MSXML2.DOMDocument, _
ByVal TagName As String) As String
On Error Resume Next
GetNodList = objDom.getElementsByTagName(TagName).Item(0).Text
End Function

4 réponses

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
80
Salut
La question est "ce numéro recherché apparait-il dans le fichier XML ?"
Si oui, regarde les noms des balises

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Messages postés
40
Date d'inscription
samedi 1 mars 2003
Statut
Membre
Dernière intervention
26 janvier 2013

Bonjour,

Je viens de regarder dans le fichier d'un des contacts et j'ai trouvé :
Debug.Print("PhoneNumber : " & GetNodList(objDom, "c:PhoneNumber"))

Je récupére bien un numéro de téléphone, mais pas toujours le bon :

Je récupére le premier numéro de téléphone renseigné dans la fiche du contact.
Si dans l'onglet "Domicile" Téléphone est renseigné, je récupère ce numero
s'il n'est pas renseigné, je récupére la valeur de "Téléphone cellulaire"

Comment obtenir une liste des balises à utiliser ?


Avec mes remerciements,

Bernard
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
80
Là, faut regarder dans l'aide du XML et des fonctions dédiées à ton objet MSXML2.DOMDocument
Messages postés
40
Date d'inscription
samedi 1 mars 2003
Statut
Membre
Dernière intervention
26 janvier 2013

Je vais essayer de fouiller, mais je n'arrive pas à trouver de doc sur le format xml du fichier contact.

Avec mes remerciement

Bernard