1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
| Option Explicit
' fonction de correspondance d'expressions réguières
'(FichierCible, ChaineRecherchée, ChaineDeRemplacement)
Function RegularExpressioN(OutputFile,StrSearch,StrReplace)
Dim ObjShell, Fso
Set objShell = CreateObject("WScript.Shell")
Set Fso = CreateObject("Scripting.FileSystemObject")
If Fso.FileExists(InputFile) = True Then
Dim oRegEx, MyFile, sStream, sNewStream
Set oRegEx = New RegExp 'Création de l'expression régulière.
With oRegEx
'.IgnoreCase = True 'Rendre insensible à la casse.
.Global = True 'Recherche dans la chaîne entière.
.Pattern = StrSearch 'Défini la chaine de recherche "Schéma de recherche".
End With
Set MyFile = Fso.OpenTextFile(InputFile,1)
sStream = MyFile.ReadAll
MyFile.Close
sNewStream = oRegEx.Replace(sStream,StrReplace)
If InStr(sNewStream,StrReplace) = True Then 'Test si la correspondance est faite.
sNewStream = Replace(sNewStream,StrReplace,1,1) 'Execution du remplacement.
End If
If Not (Fso.FileExists(OutputFile)) Then Fso.CreateTextFile(OutputFile)
Set MyFile = Fso.OpenTextFile(OutputFile,2)
MyFile.Write sNewStream
MyFile.Close
objShell.Run("notepad " & OutputFile)
Else
MsgBox "Le fichier source est introuvable",Vbcritical,"Erreur"
End If
End Function
Dim DossProg, InputFile, OutputFile, InputStrValue
DossProg = replace(WScript.ScriptFullName,WScript.ScriptName,"")
InputFile = DossProg & "source\SourceFile.txt"
OutputFile = DossProg & "Commande-PowerSchell.txt"
InputStrValue = InputBox ("Entrer l'identifiant a router." & vbNewLine & _
vbNewLine & "Il doit être de type:" & _
vbNewLine & "prenom.nom" & _
vbNewLine & "ou" & _
vbNewLine & "service.fonction" & vbNewLine,"My messenger")
RegularExpressioN (OutputFile),"(\w+\.\w+\@)",(InputStrValue) & "@" |
Partager