Bonjour,
J'ai des fichiers .msg issus d'outlook dans un répertoire sur mon disque.
Je cherche à lire le contenu pour récupérer l'adresse de l'expéditeur au format nom.prenom@domaine.fr.
Je ne peux pas utiliser MAPI, car étant sur Exchange, la propriété SenderEmailAddress me renvoie Nom, Prenom.
J'ai commencé à écrire un bout de programme, mais je rencontre des difficultés :
Si j'affiche la variable "Value" dans la fenêtre debug, je vois bien l'adresse que je cherche à récupérer sous la forme "n o m . p r e n o m @ d o m a i n e . f r"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 File = FreeFile Open app.path & "\Fichier.msg" For Binary Access Read As #File Do While Not EOF(File) Get #File, , b Texte = Texte & CStr(String(2 - Len(Hex(b)), "0") & Hex(b)) '& " ") Loop Close #File For y = 1 To Len(Texte) num = Mid(Texte, y, 2) Value = Value & Chr(Val("&h" & num)) y = y + 1 Next y
Mais si je fais :
Pos vaut 0 ; Donc il ne trouve pas la chaine.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Pos = InStr(Value, "d o m a i n e . f r")
J'ai essayé d'écrire ça dans un fichier texte :
Si je lis le fichier Export.txt, l'adresse est bien présente.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Set objFSO = CreateObject("Scripting.FileSystemObject") Const ForReading = 1, ForWriting = 2, ForAppending = 8 strOutputFileName = App.Path & "\Export.txt" Set objOutputFileName = objFSO.OpenTextFile(strOutputFileName, ForWriting, True) objOutputFileName.WriteLine Value objOutputFileName.Close Set objOutputFileName = Nothing
J'ai donc tenté un ReadAll() sur ce fichier, mais la fonction InStr() me renvoie toujours 0.
Si quelqu'un voit où je fais une boulette ?
Merci.







Répondre avec citation

Partager