Script, Dossier + Sous Dossier + "publication" page HTML

Alexis28130 Messages postés 20 Date d'inscription mardi 20 juin 2006 Statut Membre Dernière intervention 20 mai 2011 - 17 mai 2011 à 11:02
Alexis28130 Messages postés 20 Date d'inscription mardi 20 juin 2006 Statut Membre Dernière intervention 20 mai 2011 - 19 mai 2011 à 15:22
Bonjours voila mon souci...
Je liste TOUS les fichier de C et je l'est met dans un fichier HTML, je voudrais faire la même chose sauf que dans le html ça soit à la ligne et pas tout collé, et me limiter à dossier + ss dossier...

Merci à TOUS

Dim ShellO: Set ShellO = CreateObject("WScript.Shell")
Dim FSO: Set FSO = CreateObject("Scripting.FileSystemObject")
Dim SListe: Dim Schemin
'Dossier à traiter
    Schemin = "C:" 'Dossier à modifier
'Dossier Bureau de windows + ""
    SListe = ShellO.SpecialFolders("Desktop")
    If Right(SListe, 1) <> "" Then SListe = SListe & ""
'Ouverture du fichier contenant l'arborescence du répertoire à traiter vers le Bureau
    Dim Fichier: Set Fichier = FSO.CreateTextFile(SListe & "Liste.htm", 1, True)
'Écrire la premiere ligne de la liste
        Fichier.WriteLine (Schemin)
'Lister l'arborescence du dossier
        ListerDossier Schemin, Fichier
'Fermeture du fichier contenant l'arborescence du répertoire à traiter
    Fichier.Close
 
Function ListerDossier(Schemin, Fichier) 'Lister l'arborescence du dossier
On Error Resume Next
Dim FSO: Set FSO = CreateObject("Scripting.FileSystemObject")
Dim ObjRep: Set ObjRep = FSO.GetFolder(Schemin) 'dossier
Dim ObjSubRep: Set ObjSubRep = ObjRep.SubFolders 'sous-dossiers
Dim ObjSubRepItem
    For Each ObjSubRepItem In ObjSubRep 'Traiter chaque sous-dossiers
        Fichier.WriteLine (ObjSubRepItem.Path) 'Ecrire le path dans la liste
        ListerDossier ObjSubRepItem.Path, Fichier 'traiter les sous-dossiers
    Next
    Dim ObjRepFind: Set ObjRepFind = FSO.GetFolder(Schemin) 'dossier
    Dim ObjSubFile: Set ObjSubFile = ObjRepFind.Files 'Fichiers
    Dim ObjSubFileItem
    For Each ObjSubFileItem In ObjSubFile 'Traiter chaque fichier du répertoire
        Fichier.WriteLine ObjSubFileItem.Path 'Ecrire le path dans la liste
    Next
End Function

9 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
17 mai 2011 à 14:32
Salut

Ton fichier, bien qu'ayant une extension HTML, n'est qu'un fichier texte.

C'est quoi qui est tout collé ?
Si tu ouvres le fichier généré avec NotePad, les données sont-elles aussi 'tout collé' ?
En HTML, en plus d'avoir besoin d'un minimum de header et autre balise, un passage à la ligne s'écrit


Il devrait donc suffire d'ajouter cette chaine à la fin de chaque ligne que tu insères dans ton fichier.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
Alexis28130 Messages postés 20 Date d'inscription mardi 20 juin 2006 Statut Membre Dernière intervention 20 mai 2011
17 mai 2011 à 14:54
Notepad : Non ce n'est plus collé, je ne sais pas ou faire la modif pour inséré ma balise

ce qui est collé ce sont les différents chemins d'acces des dossiers...
0
Alexis28130 Messages postés 20 Date d'inscription mardi 20 juin 2006 Statut Membre Dernière intervention 20 mai 2011
17 mai 2011 à 17:03
Dim ShellO: Set ShellO =  CreateObject("WScript.Shell")
Dim FSO: Set FSO = CreateObject("Scripting.FileSystemObject")
Dim SListe: Dim Schemin
'Dossier à traiter
    Schemin = "C:" 'Dossier à modifier
'Dossier Bureau de windows + ""
    SListe = ShellO.SpecialFolders("Desktop")
    If Right(SListe, 1) <> "" Then SListe = SListe & ""
'Ouverture du fichier contenant l'arborescence du répertoire à traiter vers le Bureau
    Dim Fichier: Set Fichier = FSO.CreateTextFile(SListe & "Liste.html", 1, True) 
'Écrire la premiere ligne de la liste
        Fichier.WriteLine (Schemin) & "<html><center> <CAPTION>Liste de sous dossier
</CAPTION> </center>----
Chemin |
</html>" 
'Lister l'arborescence du dossier
        ListerDossier Schemin, Fichier
'Fermeture du fichier contenant l'arborescence du répertoire à traiter
    Fichier.Close

Function ListerDossier(Schemin, Fichier) 'Lister l'arborescence du dossier
On Error Resume Next
Dim FSO: Set FSO  = CreateObject("Scripting.FileSystemObject")
Dim ObjRep: Set ObjRep = FSO.GetFolder(Schemin) 'dossier
Dim ObjSubRep: Set ObjSubRep = ObjRep.SubFolders 'sous-dossiers
Dim ObjSubRepItem
    For Each ObjSubRepItem In ObjSubRep 'Traiter chaque sous-dossiers
        Fichier.WriteLine (ObjSubRepItem.Path) & "<html>
</html>" 'Ecrire le path dans la liste
        ListerDossier ObjSubRepItem.Path, Fichier 'traiter les sous-dossiers
        Fichier.WriteLine ObjSubFileItem.Path & "<html>
</html>" 'Ecrire le path dans la liste
    Next
End Function



J'ai fais ca mais ce n'est toujours pas exactement ce que je veux mais ton arguments ma fait avancer !!!

Merci si tu as d'autre bonne idée je suis preneur :)
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
17 mai 2011 à 19:20
Reflechis
HTML et VB sont deux langages distincts.
Tu veux générer du code HTML à partir de VB : il faut donc écrire le texte concernant les commandes HTML.

Exemple :
Fichier.WriteLine ObjSubFileItem.Path & "
"
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Alexis28130 Messages postés 20 Date d'inscription mardi 20 juin 2006 Statut Membre Dernière intervention 20 mai 2011
17 mai 2011 à 21:01
Parfait, j'avais trouvé mais d'une autre manière ensuite comme je veux le présenter dans un tableau j'ai essayé plusieur technique mais elle ne marche pas ( soit pas de tableau; soit le c:/ au dessus )

MA SOLUTION :

Dim ShellO: Set ShellO = CreateObject("WScript.Shell")
Dim FSO: Set FSO = CreateObject("Scripting.FileSystemObject")
Dim SListe: Dim Schemin
'Dossier à traiter
Schemin = "C:" 'Dossier à modifier
'Dossier Bureau de windows + ""
SListe = ShellO.SpecialFolders("Desktop")
If Right(SListe, 1) <> "" Then SListe = SListe & ""
'Ouverture du fichier contenant l'arborescence du répertoire à traiter vers le Bureau
Dim Fichier: Set Fichier = FSO.CreateTextFile(SListe & "Liste.html", 1, True)

strTableau = "<html><center> <CAPTION>Liste de sous dossier
</CAPTION> </center>----
Chemin |
</html>"

'Écrire la premiere ligne de la liste
Fichier.WriteLine (Schemin & "
")
'Lister l'arborescence du dossier
ListerDossier Schemin, Fichier
'Fermeture du fichier contenant l'arborescence du répertoire à traiter
Fichier.Close

Function ListerDossier(Schemin, Fichier) 'Lister l'arborescence du dossier
On Error Resume Next
Dim FSO: Set FSO = CreateObject("Scripting.FileSystemObject")
Dim ObjRep: Set ObjRep = FSO.GetFolder(Schemin) 'dossier
Dim ObjSubRep: Set ObjSubRep = ObjRep.SubFolders 'sous-dossiers
Dim ObjSubRepItem
For Each ObjSubRepItem In ObjSubRep 'Traiter chaque sous-dossiers
Fichier.WriteLine ("
" & ObjSubRepItem.Path & "
") 'Ecrire le path dans la liste avec saut de ligne en HTML
ListerDossier ObjSubRepItem.Path, Fichier 'traiter les sous-dossiers
Fichier.WriteLine ObjSubFileItem.Path 'Ecrire le path dans la liste
Next
End Function


MA question ou mettre le code html pour qu'il soit au début de la page le tableau MERCI a VOUS !!
0
Alexis28130 Messages postés 20 Date d'inscription mardi 20 juin 2006 Statut Membre Dernière intervention 20 mai 2011
18 mai 2011 à 08:44
Voila avec un peu d'aide et de recherche !!
Dim ShellO: Set ShellO =  CreateObject("WScript.Shell")


Dim FSO: Set FSO = CreateObject("Scripting.FileSystemObject")
Dim SListe: Dim Schemin
'Dossier à traiter
Schemin = "C:" 'Dossier à modifier
'Dossier Bureau de windows + ""
SListe = ShellO.SpecialFolders("Desktop")
If Right(SListe, 1) <> "" Then SListe = SListe & ""
'Ouverture du fichier contenant l'arborescence du répertoire à traiter vers le Bureau
Dim Fichier: Set Fichier = FSO.CreateTextFile(SListe & "Liste.html", 1, True) 
 
strHTML=strHTML &"<center> Liste des Dossiers et Sous-Dossiers dans C:\  
</center>" & _
              "\" & _
\"----
Chemin des Dossiers :, \"
'Fichier.WriteLine (Schemin & \"
\")
Fichier.WriteLine strHTML 'Ecrire la structure du Tableau en HTML
ListerDossier Schemin, Fichier 'Remplissage dynamique des données dans le Tableau
Fichier.WriteLine "
" 'ici on ferme notre tableau par la balise </table>
'Fermeture du fichier contenant l'arborescence du répertoire à traiter
Fichier.Close
 
Function ListerDossier(Schemin, Fichier) 'Lister l'arborescence du dossier
On Error Resume Next
Dim FSO: Set FSO  = CreateObject("Scripting.FileSystemObject")
Dim ObjRep: Set ObjRep = FSO.GetFolder(Schemin) 'dossier
Dim ObjSubRep: Set ObjSubRep = ObjRep.SubFolders 'sous-dossiers
Dim ObjSubRepItem
For Each ObjSubRepItem In ObjSubRep 'Traiter chaque sous-dossiers
Fichier.WriteLine ("<tr><td>" & ObjSubRepItem.Path & "</td></tr>") 'Ecrire le path dans les lignes du Tableau en HTML
ListerDossier ObjSubRepItem.Path, Fichier 'traiter les sous-dossiers
Fichier.WriteLine ObjSubFileItem.Path 'Ecrire le path dans la liste
Next
End Function
0
Alexis28130 Messages postés 20 Date d'inscription mardi 20 juin 2006 Statut Membre Dernière intervention 20 mai 2011
18 mai 2011 à 10:15
J'ai essayé de limité le programme à 2 3 sous dossier avec une multitude de boucle mais je ne trouve poas la solution

Si on peut m'aider :)
0
Alexis28130 Messages postés 20 Date d'inscription mardi 20 juin 2006 Statut Membre Dernière intervention 20 mai 2011
18 mai 2011 à 15:09
j'ai fais ça mais ça ne vas pas assez loin ... Help please

Dim ShellO: Set ShellO =  CreateObject("WScript.Shell")
Dim FSO: Set FSO = CreateObject("Scripting.FileSystemObject")
Dim SListe: Dim Schemin
'Dossier à traiter
Schemin = "C:" 'Dossier à modifier
'Dossier Bureau de windows + ""
SListe = ShellO.SpecialFolders("Desktop")
If Right(SListe, 1) <> "" Then SListe = SListe & ""
'Ouverture du fichier contenant l'arborescence du répertoire à traiter vers le Bureau
Dim Fichier: Set Fichier = FSO.CreateTextFile(SListe & "Liste.html", 1, True) 

strHTML=strHTML &"<center> Liste des Dossiers et Sous-Dossiers dans C:\  
</center>" & _
              "\" & _
\"----
Chemin des Dossiers :, \" &_
\"Autorisation , \"
'Fichier.WriteLine (Schemin & \"
\")
Fichier.WriteLine strHTML 'Ecrire la structure du Tableau en HTML
ListerDossier Schemin, Fichier 'Remplissage dynamique des données dans le Tableau
Fichier.WriteLine "
" 'ici on ferme notre tableau par la balise </table>
'Fermeture du fichier contenant l'arborescence du répertoire à traiter
Fichier.Close

Function ListerDossier(Schemin, Fichier) 'Lister l'arborescence du dossier
On Error Resume Next
Dim FSO: Set FSO  = CreateObject("Scripting.FileSystemObject")
Dim ObjRep: Set ObjRep = FSO.GetFolder(Schemin) 'dossier
Dim ObjSubRep: Set ObjSubRep = ObjRep.SubFolders 'sous-dossiers
Dim ObjSubRepItem
For Each ObjSubRepItem In ObjSubRep 'Traiter chaque sous-dossiers
Fichier.WriteLine ("<tr><td>" & ObjSubRepItem.Path & "</td></tr>") 'Ecrire le path dans les lignes du Tableau en HTML

Next
ListerDossier ObjSubRepItem.Path, Fichier 'traiter les sous-dossiers
Fichier.WriteLine ObjSubFileItem.Path 'Ecrire le path dans la liste
End Function
0
Alexis28130 Messages postés 20 Date d'inscription mardi 20 juin 2006 Statut Membre Dernière intervention 20 mai 2011
19 mai 2011 à 15:22
Dim ShellO: Set ShellO =  CreateObject("WScript.Shell")
Dim FSO: Set FSO = CreateObject("Scripting.FileSystemObject")
Dim SListe: Dim Schemin
'Dossier à traiter
Schemin = "C:" 'Dossier à modifier
'Dossier Bureau de windows + ""
SListe = ShellO.SpecialFolders("Desktop")
If Right(SListe, 1) <> "" Then SListe = SListe & ""
'Ouverture du fichier contenant l'arborescence du répertoire à traiter vers le Bureau
Dim Fichier: Set Fichier = FSO.CreateTextFile(SListe & "Liste.html", 1, True) 
 
strHTML=strHTML &"<center> Liste des Dossiers et Sous-Dossiers dans C:\  
</center>" & _
              "\" & _
\"----
Chemin des Dossiers :, \"
'Fichier.WriteLine (Schemin & \"
\")
Fichier.WriteLine strHTML 'Ecrire la structure du Tableau en HTML
ListerDossier Schemin, Fichier 'Remplissage dynamique des données dans le Tableau
Fichier.WriteLine "
" 'ici on ferme notre tableau par la balise </table>
'Fermeture du fichier contenant l'arborescence du répertoire à traiter
Fichier.Close
 
Function ListerDossier(Schemin, Fichier) 'Lister l'arborescence du dossier
On Error Resume Next
Dim FSO: Set FSO  = CreateObject("Scripting.FileSystemObject")
Dim ObjRep: Set ObjRep = FSO.GetFolder(Schemin) 'dossier
Dim ObjSubRep: Set ObjSubRep = ObjRep.SubFolders 'sous-dossiers
Dim ObjSubRepItem
   For Each ObjSubRepItem In ObjSubRep 'Traiter chaque sous-dossiers
      Fichier.WriteLine ("<tr><td>" & ObjSubRepItem.Path & "</td></tr>") 'Ecrire le path dans les lignes du Tableau en HTML
         For each objsubfolder2 in ObjSubRepItem.subfolders 
            Fichier.WriteLine ("<tr><td>" & ObjSubfolder2.Path & "</td></tr>") 'Ecrire le path avec profondeur de 2 Dossiers
 Next	
   Next
End Function



J'ai RESOLU !!
0
Rejoignez-nous