obtenir la liste des sous-répertoires dans vba

  • Je veux obtenir une liste de tous les sous-dossiers dans un dossier.
  • Si cela fonctionne, je veux l'étendre à une fonction récursive.

Cependant, mon approche initiale pour obtenir les sous-dossiers échoue. Il montre, tout simplement, tout, y compris des fichiers:

sDir = Dir(sPath, vbDirectory)
Do Until LenB(sDir) = 0
    Debug.Print sDir
    sDir = Dir
Loop

La liste commence avec '..' et plusieurs dossiers, et se termine par".txt fichiers.

EDIT:
Je dois ajouter qu'il doit exécuter dans Word, Excel pas (beaucoup de fonctions ne sont pas disponibles dans Word) et il est d'Office 2010.

EDIT 2:

On peut déterminer le type de résultat à l'aide de

iAtt = GetAttr(sPath & sDir)
If CBool(iAtt And vbDirectory) Then
   ...
End If 

Mais qui m'a donné de nouveaux problèmes, de sorte que je suis maintenant à l'aide d'un code basé sur Scripting.FileSystemObject.

source d'informationauteur Matthias Pospiech