Accueil > Forum > > > > Objet requis + nom de fichier ?
Objet requis + nom de fichier ?
vendredi 19 juin 2009 à 09:38:57 |
Objet requis + nom de fichier ?

pyb54
|
Bonjour à tous, voila j'ai un problème avec un code en vbscript, censé copier le contenu de plusieurs fichiers situés dans un même dossier dans un nouveau fichier texte. l'ennui c'est que lorsque je lance mon script j'ai un problème à la ligne : Do Until ParcourtFichier.AtEndOfStream
sachant que parcourtfichier contient le nom du fichier actuellement ciblé (avec une msgbox avant il me donne le nom du fichier), seulement il me produit une erreur "Objet requis : + le nom du fichier ciblé "
je sèche carrément la, si quelqu'un peut éclairer ma lanterne ;)
code :
Dim objFSO, oFSO, sFile, DossierOrigine, objFichier, objfile, ParcourtFichier Const ForReading = 1 Const ForWriting = 2 Set objDictionary = CreateObject("Scripting.Dictionary") Set objFSO = CreateObject("Scripting.FileSystemObject") Set oFSO = CreateObject("Scripting.FileSystemObject") set DossierOrigine = oFSO.GetFolder("C:\Documents and Settings\test") set sFile = DossierOrigine.files For Each objFichier in sFile ParcourtFichier = objFichier.name Do Until ParcourtFichier.AtEndOfStream strName = sFile.ReadLine If Not objDictionary.Exists(strName) Then objDictionary.Add strName, strName End If Loop sFile.Close Set objFSO = Nothing Set ParcourtFichier = Nothing Next
|
|
vendredi 19 juin 2009 à 11:46:00 |
Re : Objet requis + nom de fichier ?

JMO
|
 Bonjour, Erreur dans l'utilisation du stream: Set ObjTextStream = Fso.OpenTextFile(Path & Fichier_Entree1, 1) Do While Not ObjTextStream.AtEndOfStream ... Loop Exemple en passant par un tableau Option Explicit Dim Path Path = "D:\test" Const MyFileAppend = "D:\RESULTAT.txt" MsgBox ShowFolderList(Path),vbInformation,_ "Fichiers mis en append dans " & MyFileAppend Function ShowFolderList(strPath) Dim objFso, objFile, strFilesInclus, imax Set objFso = CreateObject("Scripting.FileSystemObject")
imax = 0 For Each objFile in objFso.GetFolder(strPath).Files ReDim Preserve arrFiles(imax) arrFiles(imax) = objFile.Path imax = imax + 1 strfilesInclus = strFilesInclus &vbCr& imax & _ vbTab & objFile.Name Next
Call ReadFiles(arrFiles) ShowFolderList = strFilesInclus Set objFso = Nothing End Function
Function ReadFiles(arrFiles) Const ForReading = 1,ForWriting = 2 Dim objFso, objTextResult, i Set objFso = CreateObject("Scripting.FileSystemObject") Set objTextResult = objFso.OpenTextFile(MyFileAppend, 2, True)
'Lecture du Tableau de fichier For i = LBound(arrFiles) To UBound(arrFiles) Dim objTextFile, strLines 'Ouverture en lecture du fichier issu du tableau Set objTextFile = objFso.OpenTextFile(arrFiles(i),ForReading) 'Verif si fichier non vide If objFso.GetFile(arrFiles(i)).Size <> 0 Then strLines = objTextFile.ReadAll 'Ecriture fichier result objTextResult.Write strLines & vbcrlf End If objTextFile.Close Set objTextFile = Nothing Next objTextResult.Close Set objTextResult = Nothing Set objFso = Nothing End functionjean-marc
|
|
vendredi 19 juin 2009 à 12:33:46 |
Re : Objet requis + nom de fichier ?

pyb54
|
Bonjour Jean marc, merci de me répondre^^ alors mon problème ( grâce à toi) à évolué ^^ en mieux évidemment, il me reste cependant un obstacle à franchir, j'ai maintenant l'erreur " fichier introuvable " alors que j'ai vérifié hein, le fichier est la, dans le bon dossier, avec le bon chemin et pourtant il le voit pas, voici le code actuel désormais :
Dim objFSO, oFSO, sFile, DossierOrigine, objFichier, objfile, ParcourtFichier, FSO Const ForReading = 1 Const ForWriting = 2 Set objDictionary = CreateObject("Scripting.Dictionary") Set objFSO = CreateObject("Scripting.FileSystemObject") Set oFSO = CreateObject("Scripting.FileSystemObject") Set FSO = CreateObject("Scripting.FileSystemObject") set DossierOrigine = oFSO.GetFolder("C:\Documents and Settings\test") set sFile = DossierOrigine.files For Each objFichier in sFile ParcourtFichier = objFichier.name Set ObjTextStream = Fso.OpenTextFile(DossierOrigine & ParcourtFichier, 1) Do While Not ObjTextStream.AtEndOfStream strName = ObjTextStream.ReadLine If Not objDictionary.Exists(strName) Then objDictionary.Add strName, strName End If Loop ObjTextStream.Close Set objFSO = Nothing Set ParcourtFichier = Nothing Next
|
|
vendredi 19 juin 2009 à 20:56:33 |
Re : Objet requis + nom de fichier ?

Mayzz
|
salut, Je n'ai pas eu le temps de regarder ton script en détails, mais attention au "\" pour les dossier le FSO les retournes au formats "X:\Dossier" et pour les lecteurs le chemin sera "X:\" Donc à la concaténation Chemin = Dossier & Fichier, bien vérifier que le \ est présent entre les deux. D'autre part, pas besoin de déclarer 3 fois un objet fso. tu peux n'avoir qu'à instancier une fois et t'en servir pour plusieurs fonctions ex: Set FSO = CreateObject("Scripting.FileSystemObject")
set Dossier = FSO.GetFolder("chemin") set Fichier = FSO.GetFile(Chemin)
If FSO.FileExists(chemin) then
end if
Set FSO = Nothing
@+ Mayzz.
Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer. <
|
|
samedi 20 juin 2009 à 09:24:40 |
Re : Objet requis + nom de fichier ?

JMO
|
Réponse acceptée !
 Bonjour, En plus de la remarque de Mayzz ( bonjour), il est inutile de tester l'existence de la clé du dictionnaire. arrDicoKeys est superflu dans cet exemple ! Option Explicit Const ForReading = 1 Const ForWriting = 2 Dim objFso, objDico Dim strPath, MyFileTxt
strPath = "D:\test" MyFileTxt = "d:\RESULTAT.txt"
Set objFso = CreateObject("Scripting.FileSystemObject") Set objDico = CreateObject("Scripting.Dictionary")
Call CreateDictionary(objFso.GetFolder(strPath)) Call CreateTextResult(objDico, MyFileTxt)
Set objFso = Nothing Set objDico = Nothing WScript.Quit
Sub CreateDictionary(argFolder) Dim objFile For Each objFile In argFolder.Files objDico.Add objFile, objFso.OpenTextFile(objFile, ForReading).ReadAll Next End Sub
Sub CreateTextResult(argDico, argFile) Dim arrDicoItems, arrDicoKeys, objTextResult, i Set objTextResult = objFso.OpenTextFile(argFile, ForWriting, True)
arrDicoKeys = argDico.Keys arrDicoItems = argDico.Items
For i = 0 To argDico.Count -1 objTextResult.Write "Contenu du fichier " & arrDicoKeys(i) & vbcrlf objTextResult.Write arrDicoItems(i) & vbcrlf Next objTextResult.Close Set objTextResult = Nothing End Subjean-marc
|
|
mercredi 24 juin 2009 à 09:13:55 |
Re : Objet requis + nom de fichier ?

pyb54
|
Désoler de répondre que maintenant ! (tombé malade à la fête de la musique...) Bref merci pour les conseil Mayzz, j'avoue que je ne savais pas si je devais à chaque fois recrée un objet Fso pour mon code, j'ai re vérifié les "\" mais j'avais toujours le même problème puis j'ai testé le code de Jean-marc qui... fonctionne nikel  J'ai encore du chemin lol merci à vous, vraiment !!
|
|
Cette discussion est classée dans : fichier, set, sfile, strname, parcourtfichier
Répondre à ce message
Sujets en rapport avec ce message
transfert de données d'un fichier texte a excel [ par xaeris ]
Bonjour tout le monde!! Je suis débutant en programmation VB Excel et je dois réaliser une procédure que je n'arrive pas a faire. La situation :
vbscript [ par marie059 ]
Bonjour je dois crée un script en vbscript qui dans un dossier et sous dossier choisi authorisera uniquement la lecture pour les fichiers dont la dat
[VBS] Code Error 800A0401 - Expected end of statement [ par neo2k2 ]
Bonjour à toutes et tous! J'ai un petit souci avec un programme en VBS que je développe pour mon travail. Le programme sert à tester l'existence d
VBS - Comment passer outre l'erreur 800a0046 acces refusé [ par jakoo9 ]
Bonjour,Je cherche a lire plusieurs fichiers a l'aide d'un script VBS dans un répertoire, seulement je n'ai pas accès a tous les fichiers (permission
VB 6 accès fichier excel [ par tromedlov22 ]
Mehdi Bonjour tout le monde!! Voilà, je suis débutant en VB et j'essai de faire une appli en VB avec 2 form : - sur le 1er j'ouvre un fichier xls et j
URGENT - AVANT 13h... Executer une commande dos avec un paramétre [ par neocam ]
Bonjour a tous, Pour etre bref, mon but: Je parcours un dossier contenant des pdf et j'exécute la commande "pdftotext nomfic" pour chaque fichier afin
Copier fichier vers HTTP [ par spawnrad ]
Bonjour, J'ai trouvé ce programme qui permet de copier un fichier et de le mettre dans un serveur http. En entrer j'indique le fichier (local) a envoy
Utiliser fichier .Dat dans VB6 [ par Phalls ]
Bonjour à tous,Je dois réaliser un petit programme Visual basic permettant de comparer deux données. Une se trouvant dans un fichier.Dat et l'autre da
VBA Excel copier cellulles d'un fichier fermé [ par confortola ]
J'ai trouvé le moyen de copier les cellules d'un fichier fermé par cette macro*********************<pre class="alt2" dir="ltr" style="border: 1px inse
Génération de fichier de log [ par bozoteam01 ]
Bonjour, Je travail sur un script pour l'automatisation de la configuration des adresses de dns pour plusieurs serveurs. Le script fonctionne bien je
Livres en rapport
|
Derniers Blogs
GESTION D'EXCEPTION AVEC LES TASKSGESTION D'EXCEPTION AVEC LES TASKS par richardc
Nous avons vu dans un précédent article comment utiliser Task pour effectuer des opérations dans un autre thread.
Malheureusement, comme tout le monde n'est pas parfait, il se peut que cette exécution se passe mal et qu'une exception se produise.
La...
Cliquez pour lire la suite de l'article par richardc DéMARRONS AVEC LES TASKSDéMARRONS AVEC LES TASKS par richardc
Que vous le vouliez ou non, le développement multi-tâche est maintenant une obligation pour toute nouvelle application. Il est donc vital d'en comprendre les mécanismes et de s'y mettre le plus tôt possible.
En attendant le .NET Framework 4.5 avec le...
Cliquez pour lire la suite de l'article par richardc SLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPSSLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPS par Vko
Retrouvez les slides et les démo de ma session Fast & Furious XAML Apps. A ceux qui se posent la question : "est-ce que le code de la DataGrid est disponible?", je vous répondrais "pas encore". Je vais mettre en place un projet codeplex pour part...
Cliquez pour lire la suite de l'article par Vko XNA IS DEAD!XNA IS DEAD! par richardc
Depuis la semaine dernière (et grâce aux TechDays 2012), je me penche activement sur la nouvelle version de Windows, aka Windows 8. Vous me direz, il était temps puisque la première preview date de Septembre dernier.
OK. Remarquez, on n'en est qu'aux...
Cliquez pour lire la suite de l'article par richardc TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 !TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 ! par ROMELARD Fabrice
Speakers: Fabrice Meillon et Stanislas Quastana Cette session est basée entièrement sur celle donnée lors de la BUILD cet hiver. Il n'y a pas d'ajout d'information en rapport avec cet évènement passé. Windows 8 Server sera intégralem...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|