vbscript pour lire csv dans un tableau
Ma Tâche: Un vbscript qui ouvre une .fichier csv lit des données dans un tableau, les utilise pour exécuter des fonctions et ensuite retourne la mise à jour de données dans le même fichier. Je crois que j'ai tout le reste fonctionne sauf ma fonction pour lire les données à partir du fichier.
Mon problème: je reçois des erreurs d'exécution, lorsque j'essaie d'utiliser ce code. avec le script en tant que-est que j'obtiens une Erreur:incompatibilité de Type. J'ai essayer de modifier le code de certains et obtenir différentes erreurs d'exécution.
Quelques remarques sur ce code:
- Je veux ignorer la première ligne du fichier csv qui est un en-tête qui ne changera jamais.
- il y aura toujours exactement 12 à travers champs. Cependant, le nombre de lignes est dynamique et vous chance avec chaque fichier d'entrée.
Mon code pour lire le fichier:
Function BuildArrayFromCsv(filepath) 'Function to read file and load into an array
Const ForReading = 1 ' Declare constant for reading for more clarity
Set inputFile = FileSysObj.OpenTextFile(filepath, ForReading, True) ' Set inputFile as file to be read from
Dim row, column
Dim fields(11) '12 fields per line
inputFile.ReadAll 'read to end of file
ReDim MyArray(11,inputFile.Line-2) 'current line, minus one for header, and minus one for starting at zero
inputFile.close 'close file so that MyArray can be filled with data starting at the top
Set inputFile = FileSysObj.OpenTextFile(filepath, ForReading, True) 'back at top
inputFile.ReadLine 'skip header
Do Until inputFile.AtEndOfStream
fields = Split(inputFile.Readline,",") 'store line in temp array
For column = 0 To 11 'iterate through the fields of the temp array
myArray(row,column) = fields(column) 'store each field in the 2D array with the given coordinates
Next
row = row + 1 'next line
Loop
inputFile.close
End Function
Et quel est votre problème/question?
Désolé à ce sujet. J'ai modifié pour inclure de mon problème.
Désolé à ce sujet. J'ai modifié pour inclure de mon problème.
OriginalL'auteur user3352792 | 2014-02-27
Vous devez vous connecter pour publier un commentaire.
En VBScript
Dim name(n)
crée un tableau fixe de taille n + 1; telle une bête ne peut être overwrittem avec/par une dynamique (Split() retourne). La preuveDonc remplacer
avec
OriginalL'auteur Ekkehard.Horner