Bonjour
j'ai créé un fichier txt à partir de VBA et je l'ai ouvert avec la la fonction "Shell". Le problème c'est que j'aimerai l'enregistrer et le fermer.
Bonjour
j'ai créé un fichier txt à partir de VBA et je l'ai ouvert avec la la fonction "Shell". Le problème c'est que j'aimerai l'enregistrer et le fermer.
essais avec :
Code : Sélectionner tout - Visualiser dans une fenêtre à part Workbooks("nom du fichier.txt").Close
je ne peut pas mettre workbooks.close parce que ce n'est pas un classeur excel, c'est un fichier texte. avec le classeur c'est possible de faire
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 Sub fichier() Dim systemeDeFichier As Scripting.FileSystemObject Dim nouveauFichier As Scripting.TextStream Dim texte As String Set systemeDeFichier = New Scripting.FileSystemObject Set nouveauFichier = systemeDeFichier.OpenTextFile(Filename:="chemind'accès", IOMode:=ForWriting, Create:=True) nouveauFichier.Write texte Shell "notepad.exe Chemind'accès", 0 'j'aimerai ensuite à ce niveau l'enregistrer et le fermer. 'sachant que nouveaufichier.close permet de fermer juste l'objet textstrem Set systemeDeFichier = Nothing Set nouveauFichier = Nothing End Sub
Code : Sélectionner tout - Visualiser dans une fenêtre à part workbook("book").close SaveChanges:=true (fermeture avec enregistrement)
Bonjour,
un peut de code me ferait du bien.
ta fonction Shell exécute quoi notpad?
si tu ouvre ton fichier texte dans un userform ?
Voici le problème.
C'est un document xml qui n'arive pas à s'ouvrir Ce que je fait c'est ca:
je l'ouvre avec notepad, je l'enregistre sans toutefois le modier et je le ferme
et quand je l'ouvre de nouveau il s'exécute.
ce que je veux donc faire par VBA c'est automatiser cette procédure qui :
- ouvre le fichier xml avec notepad
- enregistre le fichier et le ferme
le problème c'est qu'une fois que je l'ouvre avec shell, j'arrive pas à l'enregistrer et à le fermer.
regarde ça
dans le fichier joint:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Sub test() UserForm1.OvrirFichier "c:\test\test.txt" End Sub
comment intégrer le fichier txt dans le userform. la propriété OuvrirFichier n'existe pas dans mon module
En fait j'ai un soucis avec les variables que vous avez définies.
Ce que vous avez défini comme NumFichier, est-ce le nombre de lignes de mon fichier txt? Et Fichier est-ce le répertoire dans lequel se trouve mon fichier?
et que Représente MyString?
NuMfichier c'est le nom virtuel du fichier il est entier long
Ficher est le fichier.
j'ouvre le fichier en lui donnant un Endle (NuMfichier) Fichier virtuel.
http://www.developpez.net/forums/d93...e-precisement/
Code : Sélectionner tout - Visualiser dans une fenêtre à part Open Ficher For Input As #NuMfichier ' Ouvre le fichier en lecture.
Ok.
Et si je ne veux rien écrire dans le dossier, que pourrai-je mettre à la place de MyString?
cette parti ce constante de lire le fichier pas d'écrire.
elle affiche le contenu du fichier dans Me.TextBox1.Text .
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Open Ficher For Input As #NuMfichier ' Ouvre le fichier en lecture. Do While Not EOF(NuMfichier) ' Effectue la boucle jusqu'à la fin du fichier. Line Input #NuMfichier, MyString Me.TextBox1.Text = Me.TextBox1.Text & MyString & vbCrLf Loop Close #NuMfichier ' Ferme le fichier.
si tu modifie le contenu de Me.TextBox1.Text quand le UerForm s'affiche.
tu peux enregistre les modification en cliquant sur enregistre.
c'est un nodpad sauf qu'il est intégré à ton projet vb et pas a l’extérieur via Shell.
tu peux donc agir dessus par des instruction VB.
exemple l'enregistrer a son activation et refermer le UserForm:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Private Sub UserForm_Activate() CommandButton1_Click End Sub
Merci pour la stratégie, mais mon fichier ne s'ouvre tjrs pas.
Partager