recuperer contacts de windows mail en vb 6

Le
Dan
Bonjour à tous.
En VB 6 je sais récupérer le carnet d'adresses de Outlook.
Maintenant que je suis passé sur Vista, je ne sais pas comment récupérer le
carnet d'adresses de Windows Mail en utilisant VB 6.
Est-ce que quelqu'un pourrait m'aider et si possible m'indiquer un code.
D'avance merci de votre réponse
Questions / Réponses high-tech
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Jacques93
Le #15379391
Bonjour Dan,
Dan a écrit :
Bonjour à tous.
En VB 6 je sais récupérer le carnet d'adresses de Outlook.
Maintenant que je suis passé sur Vista, je ne sais pas comment récupérer le
carnet d'adresses de Windows Mail en utilisant VB 6.
Est-ce que quelqu'un pourrait m'aider et si possible m'indiquer un code.
D'avance merci de votre réponse



D'après ce que j'ai vu, les contacts Windows Mail sont enregistrés
individuellement dans des fichiers XML sous le nom
'NomDuContact.contact' dans le répertoire %USERPROFILE%Contacts.

Ces fichiers ont la forme :

<c:contact c:Version="1" xmlns:c="http://schemas.microsoft.com/Contact"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:MSP2P="http://schemas.microsoft.com/Contact/Extended/MSP2P">
<c:CreationDate>2007-06-18T06:18:48Z</c:CreationDate>
<c:ContactIDCollection>
<c:ContactID c:ElementID="bede76eb-115f-416c-aba9-88ee856e88e9">
<c:Value>6c0876c8-0af3-41d9-b5b0-21a99b84d335</c:Value>
</c:ContactID>
</c:ContactIDCollection>
<c:EmailAddressCollection>
<c:EmailAddress c:ElementID="4e51e5ce-7d7f-427c-b3a3-749b43049355">
<c:Type>SMTP</c:Type>
<c:LabelCollection>
<c:Label>Preferred</c:Label>
</c:LabelCollection>
</c:EmailAddress>
<c:EmailAddress
c:ElementID="cffec0c5-eb0e-4860-a969-476bf9ff1f7b"/>
</c:EmailAddressCollection>
<c:NameCollection>
<c:Name c:ElementID="568aa1c9-aff7-43e9-83c3-0cb05d8c228c">
<c:FormattedName>Jacques Le Goc</c:FormattedName>
<c:FamilyName>Le Goc</c:FamilyName>
<c:GivenName>Jacques</c:GivenName>
</c:Name>
</c:NameCollection>
<c:PhotoCollection>
<c:Photo c:ElementID="262fe893-a313-489f-9f25-9bb4fe7ac5f5">
<c:LabelCollection>
<c:Label>UserTile</c:Label>
</c:LabelCollection>
</c:Photo>
</c:PhotoCollection>
</c:contact>

mais certain 'Tag' comme xsi:nil="true" empêche de les parser
automatiquement (syntaxe invalide).

Il est toutefois possible de récupérer les informations : sous VB
ajouter une référence à Micrososft XML 4.0, et adapter le code suivant :

' --------------------------------------------------------------------
Private Sub EnumContact()
Dim Root As String
Dim Fic As String

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

Private Sub GetContactInfo(ContactFile As String)
Dim objDom As DOMDocument

Set objDom = New DOMDocument
objDom.async = False
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")
Debug.Print
Set objDom = Nothing
End Sub

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


--
Cordialement,

Jacques.
aski
Le #15379321
Bonjour Jacques93, tu as écrit le 13/12/2007 :

Bonjour Dan,
Dan a écrit :
Bonjour à tous.
En VB 6 je sais récupérer le carnet d'adresses de Outlook.
Maintenant que je suis passé sur Vista, je ne sais pas comment récupérer le
carnet d'adresses de Windows Mail en utilisant VB 6.
Est-ce que quelqu'un pourrait m'aider et si possible m'indiquer un code.
D'avance merci de votre réponse





D'après ce que j'ai vu, les contacts Windows Mail sont enregistrés
individuellement dans des fichiers XML sous le nom 'NomDuContact.contact'
dans le répertoire %USERPROFILE%Contacts.



Ces fichiers ont la forme :



<c:contact c:Version="1" xmlns:c="http://schemas.microsoft.com/Contact"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:MSP2P="http://schemas.microsoft.com/Contact/Extended/MSP2P">
<c:CreationDate>2007-06-18T06:18:48Z</c:CreationDate>
<c:ContactIDCollection>
<c:ContactID c:ElementID="bede76eb-115f-416c-aba9-88ee856e88e9">
<c:Value>6c0876c8-0af3-41d9-b5b0-21a99b84d335</c:Value>
</c:ContactID>
</c:ContactIDCollection>
<c:EmailAddressCollection>
<c:EmailAddress c:ElementID="4e51e5ce-7d7f-427c-b3a3-749b43049355">
<c:Type>SMTP</c:Type>
<c:LabelCollection>
<c:Label>Preferred</c:Label>
</c:LabelCollection>
</c:EmailAddress>
<c:EmailAddress c:ElementID="cffec0c5-eb0e-4860-a969-476bf9ff1f7b"/>
</c:EmailAddressCollection>
<c:NameCollection>
<c:Name c:ElementID="568aa1c9-aff7-43e9-83c3-0cb05d8c228c">
<c:FormattedName>Jacques Le Goc</c:FormattedName>
<c:FamilyName>Le Goc</c:FamilyName>
<c:GivenName>Jacques</c:GivenName>
</c:Name>
</c:NameCollection>
<c:PhotoCollection>
<c:Photo c:ElementID="262fe893-a313-489f-9f25-9bb4fe7ac5f5">
<c:LabelCollection>
<c:Label>UserTile</c:Label>
</c:LabelCollection>
</c:Photo>
</c:PhotoCollection>
</c:contact>



mais certain 'Tag' comme xsi:nil="true" empêche de les parser automatiquement
(syntaxe invalide).



Il est toutefois possible de récupérer les informations : sous VB ajouter une
référence à Micrososft XML 4.0, et adapter le code suivant :



' --------------------------------------------------------------------
Private Sub EnumContact()
Dim Root As String
Dim Fic As String



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



Private Sub GetContactInfo(ContactFile As String)
Dim objDom As DOMDocument



Set objDom = New DOMDocument
objDom.async = False
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")
Debug.Print
Set objDom = Nothing
End Sub



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



Voilà donc une solution élégante. Je m'apprêtais à utiliser des
fonctions très primaires de recherche de chaîne par méconnaissance de
XML.
Nous ne programmons pas dans la même catégorie. ;-(

--
Cordialement
Aski

AntiSpamEdit (ASE) - XtractOE et XtractWM - K9 en français
http://dechily.org/downloads.htm
aski
Le #15379311
Bonjour Jacques93, tu as écrit le 13/12/2007 :

Suite ...

Voilà donc une solution élégante. Je m'apprêtais à utiliser des fonctions
très primaires de recherche de chaîne par méconnaissance de XML.
Nous ne programmons pas dans la même catégorie. ;-(




Je comprends maintenant pourquoi on ne parle pas le même langage.
Sous XP j'ai de vrais XML (.contact) qui sont partagés sur les Live et
qui sont donc déchiffrables comme tu le montres dans ton exemple.

Sous Vista, c'est lisible sous Word 2003 mais impossible à déchiffrer
simplement. Ils portent une extension différente (.WindowsLiveContact)
et sont communs à Windows Mail et Windows Live MachinsTrucs.
Leur forme peut être différente.

Qu'en pense notre magicien ?
Je peux t'envoyer des fichiers en privé ....


------ fichier 28a2a1c6-1ae2-42ab-b18f-4e76e80c7f52.WindowsLiveContact
겚Ӄ湀
Jacques93
Le #15379251
Bonjour Henri,
aski a écrit :
Bonjour Jacques93, tu as écrit le 13/12/2007 :

Suite ...

Voilà donc une solution élégante. Je m'apprêtais à utiliser des
fonctions très primaires de recherche de chaîne par méconnaissance de
XML.
Nous ne programmons pas dans la même catégorie. ;-(




Je comprends maintenant pourquoi on ne parle pas le même langage.
Sous XP j'ai de vrais XML (.contact) qui sont partagés sur les Live et
qui sont donc déchiffrables comme tu le montres dans ton exemple.



J'ai fait tous les essais sous Vista ...

Sous Vista, c'est lisible sous Word 2003 mais impossible à déchiffrer
simplement. Ils portent une extension différente (.WindowsLiveContact)
et sont communs à Windows Mail et Windows Live MachinsTrucs.
Leur forme peut être différente.

Qu'en pense notre magicien ?



Trop d'honneur :-) , mon seigneur ;-)

Je peux t'envoyer des fichiers en privé ....



OK pas de problème, avec TB c'est du chinois, et je vais peut être
installer Windows Live Mail (pas avant ce week-end), pour voir en direct
live.

--
Cordialement,

Jacques.
Jacques93
Le #15379231
aski a écrit :
Bonjour Jacques93, tu as écrit le 13/12/2007 :



Voilà ce que j'obtiens sous Word 2003 :


A partir d'une partition sous XP, sur une partition sous Vista.

Office 2007, j'ai un peu de mal à m'y faire

--
Cordialement,

Jacques.
aski
Le #15379221
Bonjour Jacques93, tu as écrit le 14/12/2007 :

aski a écrit :
Bonjour Jacques93, tu as écrit le 13/12/2007 :





Voilà ce que j'obtiens sous Word 2003 :






A partir d'une partition sous XP, sur une partition sous Vista.



Office 2007, j'ai un peu de mal à m'y faire



J'ai peur de ne pas bien comprendre.
Tu as lu à partir de XP un fichier de Vista ?
En tous cas chez moi, sous Vista c'est comparable sans être aussi
complet. Je t'envie quelques exemples en privé.

--
Cordialement
Aski

AntiSpamEdit (ASE) - XtractOE et XtractWM - K9 en français
http://dechily.org/downloads.htm
news.free.fr
Le #15379151
Bonjour Henri,
aski a écrit :
Bonjour Jacques93, tu as écrit le 14/12/2007 :

aski a écrit :
Bonjour Jacques93, tu as écrit le 13/12/2007 :





Voilà ce que j'obtiens sous Word 2003 :






A partir d'une partition sous XP, sur une partition sous Vista.



Office 2007, j'ai un peu de mal à m'y faire



J'ai peur de ne pas bien comprendre.
Tu as lu à partir de XP un fichier de Vista ?



Oui, Dual boot sur 2 partitions d'un même disque, (XP PRO sur C:, Vista
Ultimate sur F:) en Administrateur (même mot de passe). En bootant sous
XP, j'ai accès à la partition Vista et réciproquement.

En tous cas chez moi, sous Vista c'est comparable sans être aussi
complet. Je t'envie quelques exemples en privé.




Envois bien reçu, pas encore regardés.


--
Cordialement,

Jacques
aski
Le #15379111
Bonjour news.free.fr, tu as écrit le 14/12/2007 :

Envois bien reçu, pas encore regardés.



Tu as 2 pseudos ?

--
Cordialement
Aski

AntiSpamEdit (ASE) - XtractOE et XtractWM - K9 en français
http://dechily.org/downloads.htm
Jacques93
Le #15379001
aski a écrit :
Bonjour news.free.fr, tu as écrit le 14/12/2007 :

Envois bien reçu, pas encore regardés.



Tu as 2 pseudos ?




Non, erreur de manip, j'ai répondu en étant sur le serveur de news de
Free, sur lequel j'avais laissé le pseudo par défaut.
Publicité
Poster une réponse
Anonyme