Contacts Windows

cs_Bernard74 Messages postés 40 Date d'inscription samedi 1 mars 2003 Statut Membre Dernière intervention 26 janvier 2013 - 15 févr. 2010 à 14:13
cs_Bernard74 Messages postés 40 Date d'inscription samedi 1 mars 2003 Statut Membre Dernière intervention 26 janvier 2013 - 15 févr. 2010 à 16:09
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

cs_Jack Messages postés 14007 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 78
15 févr. 2010 à 15:39
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)
0
cs_Bernard74 Messages postés 40 Date d'inscription samedi 1 mars 2003 Statut Membre Dernière intervention 26 janvier 2013
15 févr. 2010 à 15:48
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
0
cs_Jack Messages postés 14007 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 78
15 févr. 2010 à 15:53
Là, faut regarder dans l'aide du XML et des fonctions dédiées à ton objet MSXML2.DOMDocument
0
cs_Bernard74 Messages postés 40 Date d'inscription samedi 1 mars 2003 Statut Membre Dernière intervention 26 janvier 2013
15 févr. 2010 à 16:09
Je vais essayer de fouiller, mais je n'arrive pas à trouver de doc sur le format xml du fichier contact.

Avec mes remerciement

Bernard
0