Bonjour à toute la communauté.
Avant d'exposer mon problème je tenais à remercier tout les développeurs qui post sur ce forum car cela m'a été d'une grande aide dans la réalisation de mes scripts vbs jusqu'à aujourd'hui.
J'ai entrepris un script qui permet de récupérer un bloc de ligne d'un fichier texte pour le mettre dans un nouveau fichier: SplitFile.txt
Mon script fonctionnait merveilleusement bien jusqu'a ce que je l'agrémente de la fonctionnalité WScript.Arguments afin de placé le fichier à découpé via un drag & drop.
Le script s'exécute bien et sans erreurs. Cependant mon fichier SplitFile.txt n'est pas créer.
Je tiens à préciser que pour test, j'ai afficher le contenu de la variable qui est censé être copié dans mon fichier de sortie et son contenu est bien ce que j'attends.
Je suis donc sec de chez sec et vous demande votre aide.
Merci.
Cordialement
Starbuck
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
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 Set WshShell = WScript.CreateObject("WScript.Shell") Dim fso, f, a, b, s,tb 'val = "enable=false" 'val1 = "toto" 'File = "TRACE_IP.TXT" 'replace = "replace.vbs " 'On récupère les arguments Set sArg = WScript.Arguments 'Il n'y a qu'un argument, c'est le fichier en entrée. 'S'il y en a d'autres, on affiche un message d'erreur et on sort du script. If sArg.Count <> 1 Then MsgBox "Veuillez passer en paramètre le fichier à découper." WScript.Quit End If 'On récupère le premier (et unique) argument. File = sArg(0) 'On Ouvre le fichier en lecture set fso=CreateObject("Scripting.FileSystemObject") set oFich=fso.OpenTextFile(File,1,True) tx=oFich.ReadAll ' On ferme le fichier après en avoir lu le contenu oFich.Close 'On découpe chaque ligne en les insérant dans un tableau tb=Split(tx,VbNewline) 'On récupere les lignes qu'on souhaite récupérer a = InputBox("Première ligne à copier","Question?") a = a -1 'on retire 1 à a puisque le premier index du tableau (tb) est 0(zéro) b = InputBox("Dernière ligne à copier","Question?") b = b -1 'on retire 1 à b puisque le premier index du tableau (tb) est 0(zéro) For i = a To b s = s + tb(i)+ Vbnewline Next msgbox s 'Ecriture dans le fichier SplitFile.txt set fso=CreateObject("Scripting.FileSystemObject") Set f = fso.OpenTextFile("splitFile.txt",2, True) f.write(s) ' Nettoyage Set oFich = Nothing Set fso = Nothing Set f = Nothing Set s = Nothing msgbox "terminé", vbokonly,"SplitFile"
Partager