2017-09-29 1 views
0

이 코드 :strDirName DIR = (strParentFolder, vbDirectory)

strDirName = Dir(strParentFolder, vbDirectory) 
Do Until strDirName = "" 

반환뿐만 아니라 폴더를 파일. 폴더 만 반환해야합니다.

Dir을 사용하여 하위 폴더 목록을 반환 할 수 있습니까? 또는 FileSystemObject (s)를 사용하는 것이 좋습니다?

+0

왜 폴더 만 반환해야한다고 생각하십니까? – YowE3K

+0

사용 가능한 문서를 빠르게 스캔 한 결과 - 예상 한 것입니다. –

+0

... 그래서 FileSystemObject (s)를 사용해야합니까? –

답변

1

"속성이없는 파일"문서 페이지에서 해당 내용을 확인할 수도 있습니다. 액세스 2016

https://support.office.com/en-gb/article/Dir-Function-1a1a4275-f92f-4ae4-8b87-41e4513bba2e

vbDirectory (16)를 지정 속성이없는 파일뿐만 아니라 디렉토리 또는 폴더 :

Dir 함수

적용 대상.

+0

문서와 링크의 견적뿐만 아니라 몇 가지 설명을 추가하십시오. –

+1

나는 내 자신을 되풀이하고 있다고 생각하지만 좋은 점, 진술서 설명 –

+1

정말 좋은 질문은 "왜'vbNormal'을 사용하면 읽기 전용 속성이 설정되었지만 숨김 속성이 설정된 파일을 올바르게 제외하지 않는 이유는 무엇입니까?" (그러나 거기에 가지 마라 !! LOL) – YowE3K

0

난 당신이 Dir()를 사용하여 요구하지만, 아래는 FileSystemObject.

을 사용하면이 중 하나의 문자열을 인쇄 할 수 있음을 달성 줄 방법의 일반적인 예입니다하는지 수행하는 방법에 대한 권고를 할 수 없습니다 루트 디렉토리와 관련된 하위 디렉토리의 첫 번째 레벨.

Sub GetFolderList() 

    Set fso = CreateObject("Scripting.FileSystemObject") 
    Set rootFolder = fso.GetFolder("*Root Directory URI*") 
    Set subFolders = rootFolder.subFolders 

    Folders = "" 
    For Each fld In subFolders 
     Folders = Folders & fld.Name 
     Folders = Folders & " " 
    Next 

    Debug.Print Folders 

End Sub