comment lire un txt qui n'a pas de retour chariot ? - VB/VBA/VBS - Programmation
Marsh Posté le 08-12-2010 à 11:15:02
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
Marsh Posté le 09-12-2010 à 09:52:19
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
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.
Marsh Posté le 09-12-2010 à 19:43:11
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
Marsh Posté le 10-12-2010 à 10:22:03
Super, et merci pour le retour, cela aidera d'autres personnes pour la lecture en mode binaire sous VB qui est peu connue.
Marsh Posté le 16-12-2010 à 21:41:55
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 :
|
Marsh Posté le 07-12-2010 à 21:04:00
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