참고: Microsoft Jet Expression Service가 샌드박스 모드에서 실행되는 경우 이 항목에 설명된 함수, 메서드, 개체 또는 속성은 사용하지 않도록 설정되어 안전하지 않은 식의 평가를 방지합니다. 샌드박스 모드에 대한 자세한 내용은 도움말에서 "샌드박스 모드"를 검색합니다.

지정된 패턴 또는 파일 특성 또는 드라이브의 볼륨 레이블과 일치하는 파일, 디렉터리 또는 폴더의 이름을 나타내는 문자열을 반환합니다.

구문

Dir[(pathname [, 특성] ) ]

Dir 함수 구문에는 다음 인수가 있습니다.

인수

설명

pathname

선택 사항입니다. 파일 이름을 지정하는 문자열 식은 디렉터리 또는 폴더 및 드라이브를 포함할 수 있습니다. 경로 이름을 찾을 수 없는 경우 길이가 0인 문자열("")이 반환됩니다.

특성

선택 사항입니다. 상수 또는 숫자 식 의 합계는 파일 특성을 지정합니다. 생략하면 경로 이름과 일치하지만 특성이 없는 파일을 반환합니다.


설정

설정의 특성은인수 있습니다.

상수

설명

vbNormal

0

(기본값) 특성이 없는 파일을 지정합니다.

vbReadOnly

1

특성이 없는 파일 외에도 읽기 전용 파일을 지정합니다.

vbHidden

2

특성이 없는 파일 외에도 숨겨진 파일을 지정합니다.

VbSystem

4

특성이 없는 파일 외에도 시스템 파일을 지정합니다. Macintosh에서 사용할 수 없습니다.

vbVolume

8

볼륨 레이블을 지정합니다. 다른 특성이 지정된 경우 vbVolume은 무시됩니다. Macintosh에서 사용할 수 없습니다.

vbDirectory

16

특성이 없는 파일 외에도 폴더 또는 폴더를 지정합니다.

vbAlias

64

지정된 파일 이름은 별칭입니다. Macintosh에서만 사용할 수 있습니다.


참고:  이러한 상수는 VBA(Visual Basic for Applications)에 의해 지정되어 있으며 실제 값 대신 코드의 어디서나 사용할 수 있습니다.

주의

Microsoft Windows에서 Dir는 여러문자(*) 및 단일문자(?) 와일드카드를 사용하여 여러 파일을 지정합니다. Macintosh에서 이러한 문자는 유효한 파일 이름 문자로 처리됩니다. 와일드카드로 여러 파일을 지정할 수 없습니다.

Macintosh는 와일드카드를 지원하지 않습니다. 파일 형식을 사용하여 파일 그룹을 식별합니다. MacID 함수를 사용하여 파일 이름을 사용하는 대신 파일 형식을 지정할 수 있습니다. 예를 들어 다음 문은 현재 폴더의 첫 번째 TEXT 파일의 이름을 반환합니다.

Dir("SomePath", MacID("TEXT"))

폴더의 모든 파일을 이터테이트하려면 빈 문자열을 지정합니다.

Dir("")

Windows에서 Dir에서MacID 함수를 사용하는 경우 오류가 발생합니다.

256보다 큰 특성 값은 MacID 값으로 간주됩니다.

Dir 함수를 처음 호출할 때 경로 이름을 지정해야 합니다. 또는 오류가 발생합니다. 파일 특성을 지정하는 경우 경로 이름을 포함해야 합니다.

Dir는 pathname과 일치하는 첫 번째 파일 이름을 반환합니다. 경로 이름과 일치하는 추가 파일 이름을 얻었다면인수 없이 Dir를 다시 호출합니다. 더 이상 파일 이름이 일치하지 않습니다. Dir는 길이가 0인 문자열("")을 반환합니다. 길이가 0인 문자열이 반환된 후속 호출에서 경로 이름을 지정해야 합니다. 현재 경로 이름과 일치하는 모든 파일 이름을 검색하지 않고 새 경로 이름을 변경할 수 있습니다. 그러나 Dir 함수를 재구성적으로 호출할 수 없습니다. vbDirectory 특성을 통해 Dir를 호출하는 것은 하위 디렉터리가 지속적으로 반환되지 않습니다.

     파일 이름은 특정 순서로 검색되지 않습니다. 반환된 파일 이름을 배열 배열을 정렬할 수 있습니다.

예제

참고: VBA(Visual Basic for Applications) 모듈에서 이 함수를 사용하는 경우를 예로 들어 보겠습니다. VBA 사용에 대해 자세히 알아보려면 검색 옆의 드롭다운 목록에서 개발자 참고를 선택하고 검색 상자에 검색어를 하나 이상 입력하세요.

이 예제에서는 Dir 함수를 사용하여 특정 파일 및 디렉터가 존재하는지 검사합니다. Macintosh에서 "HD:"는 기본 드라이브 이름입니다. 경로 이름의 부분은 백슬래시 대신 콜론으로 구분됩니다. 또한 Windows 와일드카드 문자는 Macintosh에서 유효한 파일 이름 문자로 처리됩니다. 그러나 MacID 함수를 사용하여 파일 그룹을 지정할 수 있습니다.

Dim MyFile, MyPath, MyName
' Returns "WIN.INI" (on Microsoft Windows) if it exists.
MyFile = Dir("C:\WINDOWS\WIN.INI")
' Returns filename with specified extension. If more than one *.ini
' file exists, the first file found is returned.
MyFile = Dir("C:\WINDOWS\*.INI")
' Call Dir again without arguments to return the next *.INI file in the
' same directory.
MyFile = Dir
' Return first *.TXT file with a set hidden attribute.
MyFile = Dir("*.TXT", vbHidden)
' Display the names in C:\ that represent directories.
MyPath = "c:\" ' Set the path.
MyName = Dir(MyPath, vbDirectory) ' Retrieve the first entry.
Do While MyName <> "" ' Start the loop.
' Ignore the current directory and the encompassing directory.
If MyName <> "." And MyName <> ".." Then
' Use bitwise comparison to make sure MyName is a directory.
If (GetAttr(MyPath & MyName) And vbDirectory) = vbDirectory Then
Debug.Print MyName ' Display entry only if it
End If ' it represents a directory.
End If
MyName = Dir ' Get next entry.
Loop

추가 도움이 필요하신가요?

기술 향상

교육 살펴보기 >

새로운 기능 우선 가져오기

Microsoft Insider 참가 >

이 정보가 유용한가요?

언어 품질에 얼마나 만족하시나요?
사용 경험에 어떠한 영향을 주었나요?

의견 주셔서 감사합니다!

×