Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1300 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  comment lire un txt qui n'a pas de retour chariot ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

comment lire un txt qui n'a pas de retour chariot ?

n°2040601
Le debutan​t31
Posté le 07-12-2010 à 21:04:00  profilanswer
 

Bonjour tout le monde
 
J'essaye de réalisé une macro en VBA, mais j'ai un problème que j'arrive pas à résoudre.
 
je souhaiterai récupérer des information dans un fichier xml. Jusque ici, je n'ai pas de difficulté, le fichier s'ouvre comme un fichier txt, le problème provient du fichier il n'a pas de retour chariot! J'arrive donc à lire la première ligne dans string qui contient 1024 caractères mais ensuite sa plante.
 
Je voulais savoir si vous avec une solution ?
 
je pense qu'il faut l'ouvrir en binaire et parcourir le fichier jusqu'a un caractère donné. c possible ?
 
Merci pour votre Aide j'en ai un grand besoin !
 
Le débutant

mood
Publicité
Posté le 07-12-2010 à 21:04:00  profilanswer
 

n°2040697
olivthill
Posté le 08-12-2010 à 11:15:02  profilanswer
 

Habituellement, un fichier XML contient des retour chariot. C'est bizarre qu'il n'en ait pas. Peut-être qu'il viendrait d'Unix et aurait été transféré en mode binaire au lieu d'avoir été transféré en mode ascii. Peut-être que le problème pourrait se régler à ce niveau.
 
Sinon, une solution consiste  ouvrir le fichier en mode binaire et à utiliser Get (mais je ne sais pas si marche avec toutes les versions de VBA).
Voir http://vbautomation.110mb.com/VBA/ [...] lBasic.htm

n°2040967
Xxxaaavvv
Posté le 09-12-2010 à 09:52:19  profilanswer
 

un fichier XML ne peux contenir aucun retour chariot selon les modes de génération.
 
et ce n'est pas prévu pour être lu comme un fichier texte de base :D
 
Y a pas le contexte de programation dans le poste de départ, donc je peux pas vraiment aider completement :
Mais en gros il faut utiliser la librairie (dans les références) de microsoft MSXML (y a plusieurs version)
 
et parser le fichier pour accéder a ses éléments.
 
 

n°2041178
Le debutan​t31
Posté le 09-12-2010 à 19:43:11  profilanswer
 

Bonjour, me revoilà !
 
j'ai réussi en mode binaire. Voici la version de base du code !
 
a = 1
Dim nFileNum As Integer, sMyString As String
nFileNum = FreeFile
 
Open "dede.XML" For Binary As nFileNum
Do While Not EOF(1)
    sMyString = Space(500)
    Get #nFileNum, a, sMyString
    a = a + 1
         
    MyPos = InStr(sMyString, " Date=" )
    If MyPos = 1 Then GoTo line1
     
    MyPos = InStr(sMyString, "Modification=" )
    If MyPos = 1 Then GoTo line2
retour:    
Loop
Close nFileNum
 
line1:
line2:
 
 
Merci pour votre aide  

n°2041245
olivthill
Posté le 10-12-2010 à 10:22:03  profilanswer
 

Super, et merci pour le retour, cela aidera d'autres personnes pour la lecture en mode binaire sous VB qui est peu connue.

n°2042738
Ju2fruits
Posté le 16-12-2010 à 21:41:55  profilanswer
 

En essayant de lire un de mes fichiers sous Notepad++, la lecture par ligne peut se faire normalement mais pas sous le bloc-notes, où là tout le fichier est lu d'un coup, et donne donc un texte inexploitable. Je ne sais pas si ce cas correspond au votre mais dans le doute, voici une méthode perso :

Code :
  1. ; ouvre fichier pour le lire
  2. Open Adresse_file For Input As #1
  3. ; ouvre fichier temporaire pour conversion
  4. Open Adresse_file & ".tmp" For Output As #2
  5. ; la boucle de conversion commence
  6. While Not EOF(1)
  7. ; lit la ligne
  8. Input #1, Valeur_ligne
  9. ; convertit le retour chariot simple en vrai retour à la ligne
  10. Print #2, Replace(Valeur_ligne, Chr(10), Chr(13) & Chr(10))
  11. ; fin de boucle
  12. Wend
  13. ; fermer fichiers
  14. Reset
  15. ; fichier exploitable pouvant être lu ligne par ligne = fichier temporaire


Message édité par Ju2fruits le 16-12-2010 à 21:58:18

---------------
Steam id

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  comment lire un txt qui n'a pas de retour chariot ?

 

Sujets relatifs
Lire des fichiers .classimpossible de lire les musiques
Lire et ecrire un .txt sans phpcomment lire tableau html en javascript ?
[résolu] Lire un byte big endianpouvoir lire une vidéo à la fois sur l'Ipad et sur l'ordinateur
Formulaire PHP, retour sur ma page d'origineProblème retour arrière avec STDIN
oracle utiliser la même table pour lire ....PHP probleme retour chariot
Plus de sujets relatifs à : comment lire un txt qui n'a pas de retour chariot ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR