Recupérer données TXT par VB ?
Résolu/Fermé
Utilisateur anonyme
-
5 févr. 2007 à 15:11
alexandretlse Messages postés 35 Date d'inscription vendredi 25 mars 2011 Statut Membre Dernière intervention 28 avril 2011 - 28 avril 2011 à 13:23
alexandretlse Messages postés 35 Date d'inscription vendredi 25 mars 2011 Statut Membre Dernière intervention 28 avril 2011 - 28 avril 2011 à 13:23
A voir également:
- Recupérer données TXT par VB ?
- Recuperer message whatsapp supprimé - Guide
- Vb - Télécharger - Langages
- Recuperer video youtube - Guide
- Vb cable - Télécharger - Audio & Musique
- Récupérer mon compte facebook désactivé - Guide
5 réponses
Utilisateur anonyme
14 avril 2011 à 14:31
14 avril 2011 à 14:31
re:
Tiens, voilà un exemple complet que j'ai codé sous VB6.
Tu y trouveras 2 boutons pour lire, et 2 boutons pour écrire.
Méthode avec les objets de scripting (Natif sous WindowsXP)
Méthode VB6 avec la librairie RunTime de VB6.
http://membre.oricom.ca/lupin/xfr/chemin.zip
Cdt
Lupin
Tiens, voilà un exemple complet que j'ai codé sous VB6.
Tu y trouveras 2 boutons pour lire, et 2 boutons pour écrire.
Méthode avec les objets de scripting (Natif sous WindowsXP)
Méthode VB6 avec la librairie RunTime de VB6.
http://membre.oricom.ca/lupin/xfr/chemin.zip
Cdt
Lupin
Utilisateur anonyme
10 mai 2007 à 18:45
10 mai 2007 à 18:45
Bon maintenant j'ai un niveau suffisant pour réussir à faire un programme comme celui que j'ai décrit... personne ne m'a répondu c'est bien dommage...
alexandretlse
Messages postés
35
Date d'inscription
vendredi 25 mars 2011
Statut
Membre
Dernière intervention
28 avril 2011
7
12 avril 2011 à 16:28
12 avril 2011 à 16:28
Salut ca m'interesse, car je cherche a récuperer ce qui est ecrit en permanence sur un fichier txt donc si tu as une breve de pgm ca seait cool merci.
Utilisateur anonyme
12 avril 2011 à 17:04
12 avril 2011 à 17:04
Bonjour,
Vous pouvez utiliser les objets de scripting sous VB pour lire/écrire
dans un fichier texte.
Puisque VBS est un sous ensemble de VB, VB reconnait les instructions
"VBS".
Exemple pour lire écrire :
En VB, ça donne quelque chose comme :
Cdt
Lupin
Vous pouvez utiliser les objets de scripting sous VB pour lire/écrire
dans un fichier texte.
Puisque VBS est un sous ensemble de VB, VB reconnait les instructions
"VBS".
Exemple pour lire écrire :
' Fichier Lire.vbs Const ctePourLecture = 1 Const ctePourEcrire = 2 Const ctePourAjouter = 8 Const cteRapport = "Rapport.txt" Dim objFSO, objFichier, varNomFic, Texte, Message Set objFSO = CreateObject("Scripting.FileSystemObject") ' Localisation du script et du fichier à lire varNomFic = WScript.ScriptFullName varNomFic = Left(varNomFic, InStrRev(varNomFic, "\")) varNomFic = varNomFic & cteRapport If ( objFSO.FileExists(varNomFic) ) Then Set objFichier = objFSO.OpenTextFile(varNomFic,ctePourAjouter) Else Set objFichier = objFSO.CreateTextFile(varNomFic,ctePourEcrire) End If While Not objFichier .AtEndOfStream Texte = objFichier .ReadLine Message = Message & vbCrLf & Texte Wend objFichier.Close Set objFichier = Nothing Set objFSO = Nothing WScript.Echo Message WScript.Quit(0) ' '---------------------------------------------------------------------------------------------------------------------------------------------- ' Fichier Ecrire.vbs Const ctePourLecture = 1 Const ctePourEcrire = 2 Const ctePourAjouter = 8 Const cteRapport = "Rapport.txt" Dim objFSO, objFichier, varNomFic Set objFSO = CreateObject("Scripting.FileSystemObject") ' Localisation du fichier à écrire varNomFic = WScript.ScriptFullName varNomFic = Left(varNomFic, InStrRev(varNomFic, "\")) varNomFic = varNomFic & cteRapport ' Valide si fichier existe If ( objFSO.FileExists(varNomFic) ) Then Set objFichier = objFSO.OpenTextFile(varNomFic,ctePourAjouter) Else Set objFichier = objFSO.CreateTextFile(varNomFic,ctePourEcrire) End If ' Écrire dans fichier objFichier.WriteLine "Bonjour le monde" objFichier.Close Set objFichier = Nothing Set objFSO = Nothing WScript.Quit(0) '---------------------------------------------------------------------------------------------------------------------------------------------- '
En VB, ça donne quelque chose comme :
Option Explicit Const ctePourLecture = 1 Const ctePourEcrire = 2 Const ctePourAjouter = 8 Const cteRapport = "Rapport.txt" ' Sub LireFichier() Dim objFSO As Object, objFichier As Object Dim varNomFic As String, Texte As String, Message As String Set objFSO = CreateObject("Scripting.FileSystemObject") ' Localisation du script et du fichier à lire varNomFic = Application.Path varNomFic = Left(varNomFic, InStrRev(varNomFic, "\")) varNomFic = varNomFic & cteRapport If (objFSO.FileExists(varNomFic)) Then Set objFichier = objFSO.OpenTextFile(varNomFic, ctePourAjouter) Else Set objFichier = objFSO.CreateTextFile(varNomFic, ctePourEcrire) End If While Not objFichier.AtEndOfStream Texte = objFichier.ReadLine Message = Message & vbCrLf & Texte Wend objFichier.Close Set objFichier = Nothing Set objFSO = Nothing End Sub ' Sub Ecrire() Dim objFSO As Object, objFichier As Object, varNomFic As String Set objFSO = CreateObject("Scripting.FileSystemObject") ' Localisation du fichier à écrire varNomFic = Application.Path varNomFic = Left(varNomFic, InStrRev(varNomFic, "\")) varNomFic = varNomFic & cteRapport ' Valide si fichier existe If (objFSO.FileExists(varNomFic)) Then Set objFichier = objFSO.OpenTextFile(varNomFic, ctePourAjouter) Else Set objFichier = objFSO.CreateTextFile(varNomFic, ctePourEcrire) End If ' Écrire dans fichier objFichier.WriteLine "Bonjour le monde" objFichier.Close Set objFichier = Nothing Set objFSO = Nothing End Sub '
Cdt
Lupin
alexandretlse
Messages postés
35
Date d'inscription
vendredi 25 mars 2011
Statut
Membre
Dernière intervention
28 avril 2011
7
13 avril 2011 à 09:19
13 avril 2011 à 09:19
bonjour Lupin,
Tt d'abord merci pour ton aide.
J'ai encore besoin de tes services. J'ai compilé le code que tu m'as envoyé pour lire un fichier en VB. Je n'ai pas recopié le code pour la solution écrire puisque je n'écrit pas dans le fichier txt. Mais ca servira pour d'autre.
Pour le code lire il me dit que j'ai deux erreurs:
'Path' n'est pas un membre de 'System.windows.forms.application
'Public Property Left() As integer' n'a aucun paramètre et son type de retour ne peut pas etre indexé.
As tu une idée a tt ca? J'ai cherché mais sans succes!!!
Merci
Tt d'abord merci pour ton aide.
J'ai encore besoin de tes services. J'ai compilé le code que tu m'as envoyé pour lire un fichier en VB. Je n'ai pas recopié le code pour la solution écrire puisque je n'écrit pas dans le fichier txt. Mais ca servira pour d'autre.
Pour le code lire il me dit que j'ai deux erreurs:
'Path' n'est pas un membre de 'System.windows.forms.application
'Public Property Left() As integer' n'a aucun paramètre et son type de retour ne peut pas etre indexé.
As tu une idée a tt ca? J'ai cherché mais sans succes!!!
Merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Utilisateur anonyme
Modifié par Lupin.PC4 le 13/04/2011 à 13:46
Modifié par Lupin.PC4 le 13/04/2011 à 13:46
re:
1er Point :
L'instruction [ Application.Path ] vient du VBA, j'aurais du me souvenir
que la syntaxe était différente sous VB.
Je ne sais s'il s'agit de VB6 ou VB.NET ...
Sous VB.NET, l'instruction se lit :
Chemin = Application.ExecutablePath
Sous VB6, l'instruction se lit :
Chemin = App.Path
2è Point :
L'instruction [Left] dans :
varNomFic = Left(varNomFic, InStrRev(varNomFic, "\"))
Essai avec la syntaxe suivante :
varNomFic = Left$(varNomFic, InStrRev(varNomFic, "\"))
sinon :
Le groupe d'instruction :
' Localisation du script et du fichier à lire
varNomFic = Application.Path
varNomFic = Left(varNomFic, InStrRev(varNomFic, "\"))
varNomFic = varNomFic & cteRapport
devrait pouvoir être écrite ainsi sous VB6:
varNomFic = App.Path
varNomFic = varNomFic & "\" & cteRapport
Vérifie le chemin avec l'instruction pour ne pas avoir 2 [ \ ] dans le chemin:
MsgBox varNomFic
Cdt
Lupin
1er Point :
L'instruction [ Application.Path ] vient du VBA, j'aurais du me souvenir
que la syntaxe était différente sous VB.
Je ne sais s'il s'agit de VB6 ou VB.NET ...
Sous VB.NET, l'instruction se lit :
Chemin = Application.ExecutablePath
Sous VB6, l'instruction se lit :
Chemin = App.Path
2è Point :
L'instruction [Left] dans :
varNomFic = Left(varNomFic, InStrRev(varNomFic, "\"))
Essai avec la syntaxe suivante :
varNomFic = Left$(varNomFic, InStrRev(varNomFic, "\"))
sinon :
Le groupe d'instruction :
' Localisation du script et du fichier à lire
varNomFic = Application.Path
varNomFic = Left(varNomFic, InStrRev(varNomFic, "\"))
varNomFic = varNomFic & cteRapport
devrait pouvoir être écrite ainsi sous VB6:
varNomFic = App.Path
varNomFic = varNomFic & "\" & cteRapport
Vérifie le chemin avec l'instruction pour ne pas avoir 2 [ \ ] dans le chemin:
MsgBox varNomFic
Cdt
Lupin
alexandretlse
Messages postés
35
Date d'inscription
vendredi 25 mars 2011
Statut
Membre
Dernière intervention
28 avril 2011
7
13 avril 2011 à 14:57
13 avril 2011 à 14:57
Salut je me suis permi de le mettre a la sauce VB6 (je t'ai mis des étoiles la ou j'avais des modif si ca t'interesse) et donc voici ce que ca donne il n'y a plus d'erreurs de compil mais j'ai encore un PB c'est le chemin. Il ne trouve pas le bon chemin et je vois pas ou est ce qu'il va chercher ca.
Public Class Form1
Const ctePourLecture = 1
Const ctePourEcrire = 2
Const ctePourAjouter = 8
Const cteRapport = "doc.txt"
'
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim objFSO As Object, objFichier As Object
Dim varNomFic As String, Texte As String, Message As String
objFSO = CreateObject("Scripting.FileSystemObject")
' Localisation du script et du fichier à lire
varNomFic = Application.ExecutablePath '*****
varNomFic = varNomFic & "\" & cteRapport
MsgBox(varNomFic)
If (objFSO.FileExists(varNomFic)) Then
objFichier = objFSO.OpenTextFile(varNomFic, ctePourAjouter)
Else
objFichier = objFSO.CreateTextFile(varNomFic, ctePourEcrire)
End If
While Not objFichier.AtEndOfStream
Texte = objFichier.ReadLine
TextBox1.Text = TextBox1.Text & vbCrLf & Texte '*****
End While
objFichier.Close()
objFichier = Nothing
objFSO = Nothing
End Sub
End Class
Public Class Form1
Const ctePourLecture = 1
Const ctePourEcrire = 2
Const ctePourAjouter = 8
Const cteRapport = "doc.txt"
'
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim objFSO As Object, objFichier As Object
Dim varNomFic As String, Texte As String, Message As String
objFSO = CreateObject("Scripting.FileSystemObject")
' Localisation du script et du fichier à lire
varNomFic = Application.ExecutablePath '*****
varNomFic = varNomFic & "\" & cteRapport
MsgBox(varNomFic)
If (objFSO.FileExists(varNomFic)) Then
objFichier = objFSO.OpenTextFile(varNomFic, ctePourAjouter)
Else
objFichier = objFSO.CreateTextFile(varNomFic, ctePourEcrire)
End If
While Not objFichier.AtEndOfStream
Texte = objFichier.ReadLine
TextBox1.Text = TextBox1.Text & vbCrLf & Texte '*****
End While
objFichier.Close()
objFichier = Nothing
objFSO = Nothing
End Sub
End Class
alexandretlse
Messages postés
35
Date d'inscription
vendredi 25 mars 2011
Statut
Membre
Dernière intervention
28 avril 2011
7
13 avril 2011 à 15:21
13 avril 2011 à 15:21
Non dsl il m'envoie dans le mur en me disant App n'est déclaré.
Le fichier txt est sur le bureau mais le programme lui ne va a la bonne adresse.
Merci pour la patience.
Le fichier txt est sur le bureau mais le programme lui ne va a la bonne adresse.
Merci pour la patience.
alexandretlse
Messages postés
35
Date d'inscription
vendredi 25 mars 2011
Statut
Membre
Dernière intervention
28 avril 2011
7
13 avril 2011 à 17:25
13 avril 2011 à 17:25
Pas de souci c'est déja super cool de m'aider!
27 avril 2011 à 16:53
Tt d'abord merci. J'ai réussi a faire un truc avec ce que tu m'as envoyé et j'arrivais pas à faire un .exe avec VB 2008. J'ai fini par trouver une astuce d'un gars en prenant le fichier:
toto.exe.deploy => toto.exe (en changeant l'extension seulement)
Mais je suis confronter à un autre pb c'est l'ordi sur lequel je veux faire tourner mon programme il m'affiche ca: "Please set registry key HKLM\Software\Microsoft\.NETFramework\InstallRoot to point to the .NET Framework install location".
As tu une idée de ce que ca peut etre?
Je ne peux pas faire de MAJ de window (sachant que l'ordi a un windows2000) ni installer de logiciel sur cet ordi car il est uniquement dédié à une application.
Merci.
27 avril 2011 à 21:22
En effet, il te faut installer le FrameWork.Net 3.5 sur ton W2K.
n.b. Ce n'est pas vraiment un logiciel mais une librairie de DLL, d'objects, etc ...
Sous VB2008, il n'y a pas d'autres choix !
Cdt
Lupin
28 avril 2011 à 08:39
En revanche est ce que je pourrais trouver un devellopeur VB antérieur a 2008 susceptible de fonctionner avec mon petit programme moyenant quelque modifications?
Encore merci.
28 avril 2011 à 13:19
Dans un tel cas, je ne vois que le VBS (Visual Basic Scripting) qui pourrait
t'accomoder. Car même sous VB6, VB5 ... la DLL du "run time" s'installera
lors du déploiment de l'application.
J'ai moi-même programmer tout une série de script en VBS pour la maintenance
de la solution "ServiceCenter 6.1.1" étalé sur 6 serveurs. Aucune installation
n'est requise.
Dans l'exemple que j'ai déposé le 12 avr 2011 à 17:04, le script est fonctionnel
si l'extension du fichier est [ *.vbs ]. Les objets de scripting sont aussi natif
sous W2K. Toutefois tu perderas l'aspect "Formulaire" puisque VBS ne fournit
pas de formulaire.
Tu prends le code que j'ai déposé, tu l'enregistre au format "MonScript.vbs",
et tu pourra ainsi lire le fichier souhaité.
Cdt
Lupin
28 avril 2011 à 13:23
Bonne fin de journee.