Получить список подкаталогов в VBA

  • Я хочу получить список всех подкаталогов внутри каталога.
  • Если это сработает, я хочу расширить его до рекурсивной функции.

Однако мой первоначальный подход к получению подкаталогов не удался.Он просто показывает все, включая файлы:

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

Список начинается с '..' и нескольких папок и заканчивается файлами '.txt'.


РЕДАКТИРОВАТЬ:
Я должен добавить, что это должно работать в Word, а не в Excel (многие функции недоступны в Word), и это Office 2010.


РЕДАКТИРОВАТЬ 2:

Можно определить тип результат с использованием

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

Но это доставило мне новые проблемы, так что теперь я использую код, основанный на Scripting.FileSystemObject.

20
задан ashleedawg 15 August 2018 в 12:08
поделиться