[VBS] Find & replace avec une chaine contetant des guillemets

Find & replace avec une chaine contetant des guillemets [VBS] - VB/VBA/VBS - Programmation

Marsh Posté le 09-07-2015 à 10:26:26    

Bonjour à tous ! Tout est dans le titre !
 
Je cherche à faire un petit script de find and replace, je l'ai testé il est fonctionnel, le soucis et que je dois le rendre compatible pour d'autres utilisations avec des chaines contenant des guillemets !
 

Code :
  1. Const ForReading = 1
  2. Const ForWriting = 2
  3. Set objFSO = CreateObject("Scripting.FileSystemObject" )
  4. Set objFile = objFSO.OpenTextFile("UNIT.CFG", ForReading)
  5. strText = objFile.ReadAll
  6. objFile.Close
  7. strNewText = Replace(strText, VALUE="PASSBC_ANO_PBC_2", VALUE="PASSBC_ANO_PBC_1" )
  8. strNewText1 = Replace(strNewText, VALUE="PASSBC_INDISPO_PBC_2", VALUE="PASSBC_INDISPO_PBC_1" )
  9. Set objFile = objFSO.OpenTextFile("UNIT.CFG", ForWriting)
  10. objFile.WriteLine strNewText1
  11. objFile.Close


 
Voici mon code ! Je veux remplacer  VALUE="PASSBC_ANO_PBC_2" par VALUE="PASSBC_ANO_PBC_1" ...
 
Je ne prends pas juste le PASSBC_ANO_PBC_2 parce que je le retrouve plusieurs fois dans mon fichier et je ne veux pas le modifier aux autres endroits !
 
Merci d'avance !

Reply

Marsh Posté le 09-07-2015 à 10:26:26   

Reply

Marsh Posté le 09-07-2015 à 18:23:21    

 
           Bonjour !
 
           A lire …
 

Reply

Marsh Posté le 15-07-2015 à 14:47:17    

Marc L a écrit :

 
           Bonjour !
 
           A lire …
 


 
Merci beaucoup !

Reply

Marsh Posté le 15-07-2015 à 16:23:57    

Code :
  1. Const TXT = "UNIT.CFG", T1 = "1""", T2 = "2"""
  2. Const ANO = "VALUE=""PASSBC_ANO_PBC_", IND = "VALUE=""PASSBC_INDISPO_PBC_"
  3. With CreateObject("Scripting.FileSystemObject" )
  4.     If .FileExists(TXT) Then
  5.         With .OpenTextFile(TXT, 1):  S = .ReadAll:  .Close:  End With
  6.         With .OpenTextFile(TXT, 2)
  7.              .Write Replace(Replace(S, ANO & T2, ANO & T1), IND & T2, IND & T1)
  8.              .Close
  9.         End With
  10.     End If
  11. End With

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed