IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

Lire des fichiers .msg


Sujet :

VB 6 et antérieur

  1. #1
    Membre Expert
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 70
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Par défaut Lire des fichiers .msg
    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 :

    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
    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"
    Mais si je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Pos = InStr(Value, "d o m a i n e . f r")
    Pos vaut 0 ; Donc il ne trouve pas la chaine.

    J'ai essayé d'écrire ça dans un fichier texte :
    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
    Si je lis le fichier Export.txt, l'adresse est bien présente.
    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.

  2. #2
    Membre émérite
    Inscrit en
    Décembre 2007
    Messages
    512
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 512
    Par défaut
    Bonjour Pc75,

    C'est peut-être une fausse piste, mais 'value' ne serait-il pas un mot réservé?
    (propriété:value)

    Si tu l'emploies comme nom de variable n'y aurait=il pas confusion?

    A+

  3. #3
    Membre Expert
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 70
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Par défaut
    Re,

    Citation Envoyé par iclic Voir le message
    Bonjour Pc75,

    C'est peut-être une fausse piste, mais 'value' ne serait-il pas un mot réservé?
    (propriété:value)

    Si tu l'emploies comme nom de variable n'y aurait=il pas confusion?

    A+
    Merci pour ta réponse, mais j'ai changé "Value" par "Str_Value" et c'est toujours pareil.

  4. #4
    Membre émérite
    Inscrit en
    Décembre 2007
    Messages
    512
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 512
    Par défaut
    Bonjour,

    Suggestion

    Et si tu analysais caractère par caractère le code ascii de ta variable
    "Str_Value" pour vérifier les valeurs au cas où il y aurait un caractère caché d'une autre valeur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Dim carac As String
    Dim code As Integer
    For Pos = 1 To Len(Str_Value)
      carac = Mid(Str_Value, Pos, 1)
      code = Asc(carac)
      Debug.Print code
    Next
    A+

  5. #5
    Membre Expert
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 70
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Par défaut
    Re,

    Citation Envoyé par iclic Voir le message
    Bonjour,

    Suggestion

    Et si tu analysais caractère par caractère le code ascii de ta variable
    "Str_Value" pour vérifier les valeurs au cas où il y aurait un caractère caché d'une autre valeur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Dim carac As String
    Dim code As Integer
    For Pos = 1 To Len(Str_Value)
      carac = Mid(Str_Value, Pos, 1)
      code = Asc(carac)
      Debug.Print code
    Next
    A+
    Merci, ta suggestion a réglé le problème. Je reconstitue ma variable comme ça et tout est OK.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
            For Pos = 1 To Len(Str_Value)
              carac = Mid(Str_Value, Pos, 1)
              code = Asc(carac)
              If code <> 0 Then
                NewTxt = NewTxt & carac
              End If
            Next

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [ODBC] Lire des fichiers .msg avec php
    Par hugo69 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 24/10/2009, 12h38
  2. [Excel] Comment lire des fichiers excel avec php?
    Par dear_rihab dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 02/11/2007, 13h38
  3. [Audio]Lire des fichiers sons
    Par Ender dans le forum Multimédia
    Réponses: 6
    Dernier message: 05/10/2005, 02h50
  4. Lire des fichiers .mpc
    Par Thrystan dans le forum Applications et environnements graphiques
    Réponses: 2
    Dernier message: 11/12/2004, 14h15
  5. [ZIP]besoin de lire des fichiers avec l'extension tar.gz
    Par mathieublanc13 dans le forum Entrée/Sortie
    Réponses: 3
    Dernier message: 24/05/2004, 14h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo