Soyez le premier à donner votre avis sur cette source.
Snippet vu 18 620 fois - Téléchargée 26 fois
'--------------------------------------- 'Remplace une valeur par une autre 'pour tous les fichiers selectionnés '--------------------------------------- Option Explicit Dim Saisie1, Saisie2 Saisie1 = InputBox(vbCrLf&vbCrLf&vbCrLf&vbCrLf&"Quelle chaine de caractères" &_ " voulez-vous remplacer ???","Modification par lot", "ligne") If Saisie1 = "" Then WScript.Quit Saisie2 = InputBox(vbCrLf&vbCrLf&vbCrLf&vbCrLf&"Par quelle chaine de caractères" &_ " voulez-vous remplacer la chaine " & Saisie1 &_ " ???","Modification par lot", "nouvelle ligne") If Saisie2 = "" Then WScript.Quit MsgBox vbCrLf&"Choisissez maintenant tous les fichiers" &_ vbCrLf&"pour lesquels vous voulez remplacer la chaine:" &_ vbCrLf&Saisie1, vbExclamation, "Modification par lot" Const ForReading = 1, ForWriting = 2, ForAppending = 8 Dim fso, i, j, strtmp, Resultat Set fso = CreateObject("Scripting.FileSystemObject") 'affiche une boite de dialogue à choix multiples '*****valable uniquement sur XP***** Dim objDialog, intResult, arrFiles, strPath, strFile Set objDialog = CreateObject("UserAccounts.CommonDialog") objDialog.Filter = "VBScript |*.vbs|Java Script| *.js|Batch| *.bat|" &_ "Fichiers Texte| *.txt |Tous les fichiers|*.*" objDialog.Flags = &H0200 objDialog.FilterIndex = 1 objDialog.InitialDir = "C:\" intResult = objDialog.ShowOpen If intResult = 0 Then Wscript.Quit Else arrFiles = Split(objDialog.FileName, " ") For i = 1 to Ubound(arrFiles) strFile = arrFiles(i) Dim objTextStream Set objTextStream = Fso.OpenTextFile(strFile, ForReading) Resultat = objTextStream.ReadAll strtmp = split(Resultat,"") For j = 0 to Ubound(strtmp) If instr(trim(strtmp(j)),Saisie1) Then strtmp(j) = Replace(strtmp(j), Saisie1, Saisie2) End If objTextStream.Close Set objTextStream = Fso.OpenTextFile(strFile, ForWriting, True) objTextStream.Write strtmp(j) objTextStream.Close Next Next End If Set objTextStream = Nothing Set fso = Nothing Set objDialog = Nothing MsgBox "Modifications effectuées !!!", vbInformation, Now()
26 juil. 2006 à 16:54
Si la boîte de dialogue ne s'affiche pas à la fin, c'est rien n'a été fait...
solution: sélectionnez moins de fichiers à traiter en même temps.... ;-)
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.