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

Script, Dossier + Sous Dossier + "publication" page HTML - VB/VBA/VBS - Programmation

Marsh Posté le 18-05-2011 à 11:08:12    

Bonjours,
Dans ce joli petit script il me selectionne tous les sous dossier alors que je souhaiterais m'arreter à 2 si vous avez une idée pour m'aider !!
 

Code :
  1. Dim ShellO: Set ShellO = CreateObject("WScript.Shell" )
  2. Dim FSO: Set FSO = CreateObject("Scripting.FileSystemObject" )
  3. Dim SListe: Dim Schemin
  4. 'Dossier à traiter
  5. Schemin = "C:\" 'Dossier à modifier
  6. 'Dossier Bureau de windows + "\"
  7. SListe = ShellO.SpecialFolders("Desktop" )
  8. If Right(SListe, 1) <> "\" Then SListe = SListe & "\"
  9. 'Ouverture du fichier contenant l'arborescence du répertoire à traiter vers le Bureau
  10. Dim Fichier: Set Fichier = FSO.CreateTextFile(SListe & "Liste.html", 1, True)
  11. strHTML=strHTML &"<center><h2><B><font color=red>Liste des Dossiers et Sous-Dossiers dans C:\ </font></B></h2></center>" & _
  12.               "<table border='3' cellpadding='10' style='border-collapse: collapse; font size:11pt' bordercolor='#CCCCCC' width='100%' id='Table1'>" & _
  13.               "<tr><td><strong>Chemin des Dossiers :</strong></td></tr>"
  14. 'Fichier.WriteLine (Schemin & "<br>" )    
  15. Fichier.WriteLine strHTML 'Ecrire la structure du Tableau en HTML
  16. ListerDossier Schemin, Fichier 'Remplissage dynamique des données dans le Tableau
  17. Fichier.WriteLine "</table>" 'ici on ferme notre tableau par la balise </table>
  18. 'Fermeture du fichier contenant l'arborescence du répertoire à traiter
  19. Fichier.Close
  20. Function ListerDossier(Schemin, Fichier) 'Lister l'arborescence du dossier
  21. On Error Resume Next
  22. Dim FSO: Set FSO = CreateObject("Scripting.FileSystemObject" )
  23. Dim ObjRep: Set ObjRep = FSO.GetFolder(Schemin) 'dossier
  24. Dim ObjSubRep: Set ObjSubRep = ObjRep.SubFolders 'sous-dossiers
  25. Dim ObjSubRepItem
  26. For Each ObjSubRepItem In ObjSubRep 'Traiter chaque sous-dossiers
  27. Fichier.WriteLine ("<tr><td><a href='" & ObjSubRepItem.Path & "'>" & ObjSubRepItem.Path & "</a></td></tr>" ) 'Ecrire le path dans les lignes du Tableau en HTML
  28. ListerDossier ObjSubRepItem.Path, Fichier 'traiter les sous-dossiers
  29. Fichier.WriteLine ObjSubFileItem.Path 'Ecrire le path dans la liste
  30. Next
  31. End Function


 
MERCI A VOUS

Reply

Marsh Posté le 18-05-2011 à 11:08:12   

Reply

Marsh Posté le 18-05-2011 à 14:51:24    

Salut,c'est du VBA Excel mais facilement adaptable voir sur http://boisgontierjacques.free.fr/ [...] rtoire.htm
 
sinon j'ai posté un VBA Excel sur http://cjoint.com/?3Espcim1hJG


Message édité par kiki29 le 18-05-2011 à 15:02:49
Reply

Marsh Posté le 18-05-2011 à 16:20:12    

Merci de ta participation mais je suis etudiant & trés débutant dans ce language xD
 
je comprend pas les manips

Reply

Marsh Posté le 19-05-2011 à 21:39:37    

Alexis_28 a écrit :

Bonjours,
Dans ce joli petit script il me selectionne tous les sous dossier alors que je souhaiterais m'arreter à 2 si vous avez une idée pour m'aider !!

 
Code :
  1. Dim ShellO: Set ShellO = CreateObject("WScript.Shell" )
  2. Dim FSO: Set FSO = CreateObject("Scripting.FileSystemObject" )
  3. Dim SListe: Dim Schemin
  4. Dim level As Integer
  5. level = 0
  6. 'Dossier à traiter
  7. Schemin = "C:\" 'Dossier à modifier
  8. 'Dossier Bureau de windows + "\"
  9. SListe = ShellO.SpecialFolders("Desktop" )
  10. If Right(SListe, 1) <> "\" Then SListe = SListe & "\"
  11. 'Ouverture du fichier contenant l'arborescence du répertoire à traiter vers le Bureau
  12. Dim Fichier: Set Fichier = FSO.CreateTextFile(SListe & "Liste.html", 1, True)
  13. strHTML=strHTML &"<center><h2><B><font color=red>Liste des Dossiers et Sous-Dossiers dans C:\ </font></B></h2></center>" & _
  14.               "<table border='3' cellpadding='10' style='border-collapse: collapse; font size:11pt' bordercolor='#CCCCCC' width='100%' id='Table1'>" & _
  15.               "<tr><td><strong>Chemin des Dossiers :</strong></td></tr>"
  16. 'Fichier.WriteLine (Schemin & "<br>" )    
  17. Fichier.WriteLine strHTML 'Ecrire la structure du Tableau en HTML
  18. ListerDossier Schemin, Fichier, level 'Remplissage dynamique des données dans le Tableau
  19. Fichier.WriteLine "</table>" 'ici on ferme notre tableau par la balise </table>
  20. 'Fermeture du fichier contenant l'arborescence du répertoire à traiter
  21. Fichier.Close
  22. Function ListerDossier(Schemin, Fichier, ByVal level As Integer) 'Lister l'arborescence du dossier
  23. On Error Resume Next
  24. level = level + 1
  25.     If level > 2 Then
  26.         Exit Function
  27.     End If
  28. Dim FSO: Set FSO = CreateObject("Scripting.FileSystemObject" )
  29. Dim ObjRep: Set ObjRep = FSO.GetFolder(Schemin) 'dossier
  30. Dim ObjSubRep: Set ObjSubRep = ObjRep.SubFolders 'sous-dossiers
  31. Dim ObjSubRepItem
  32. For Each ObjSubRepItem In ObjSubRep 'Traiter chaque sous-dossiers
  33. Fichier.WriteLine ("<tr><td><a href='" & ObjSubRepItem.Path & "'>" & ObjSubRepItem.Path & "</a></td></tr>" ) 'Ecrire le path dans les lignes du Tableau en HTML
  34. ListerDossier ObjSubRepItem.Path, Fichier 'traiter les sous-dossiers
  35. ListerDossier ObjSubRepItem.Path, Fichier, level 'traiter les sous-dossiers
  36. Fichier.WriteLine ObjSubFileItem.Path 'Ecrire le path dans la liste
  37. Next
  38. End Function
 

MERCI A VOUS

 

Bonjour, si j'ai bien compris tu veux t'arrêter à un niveau 2 dans les sous-dossier.
En rouge tu as un appel de la fonction ListerDossier par elle-même (récursivité).
Si tu veux t'arrêter au niveau 2 il faut ajouter une sortie dans cette fonction quand elle atteint le niveau 2. Voir ajout en bleu.
Et en vert le nom du dossier est en fixe dans le code html alors que ton dossier est en dynamique...


Message édité par tarteflambee le 19-05-2011 à 21:42:24
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed