Syncope.T-*
728x90

파일의 속성- 예를 들자면 숨김, 읽기 전용 등의 상태를 알 수 있어요.

 

다음과 같이 선언해요.

 

Private Declare Function GetFileAttributes Lib "kernel32" Alias "GetFileAttributesA" _ (ByVal lpFileName As StringAs Long 

 

인수인 lpFileName에 파일의 경로를 입력하는 것이에요.

예를 들자면 이렇게-

 

Dim Att as Long 
Att = GetFileAttributes("C:\Stalking\빗방울.avi")

 

그러면 변수 Att에 파일의 정보가 담기는 거에요.

단지 숫자에 불과한데 어떻게 사용하냐구요?

아주 간단해요! 상수를 이용한답니다!

 

다음은 파일 정보와 관련된 상수 리스트에요.

 

Private Const FILE_ATTRIBUTE_ARCHIVE = &H20
'기록용 파일/폴더인가?
Private Const FILE_ATTRIBUTE_COMPRESSED = &H800 
'(시스템 상에서)압축된 파일인가? 또는 폴더에서 압축이 기본 옵션인가?
Private Const FILE_ATTRIBUTE_DIRECTORY = &H10
'폴더인가?
Private Const FILE_ATTRIBUTE_HIDDEN = &H2
'숨김 파일/폴더인가?
Private Const FILE_ATTRIBUTE_NORMAL = &H80
'그냥 있나?
Private Const FILE_ATTRIBUTE_READONLY = &H1
'읽기 전용인가?
Private Const FILE_ATTRIBUTE_SYSTEM = &H4
'시스템 파일/폴더인가?
Private Const FILE_ATTRIBUTE_TEMPORARY = &H100
'임시 파일인가?

 

API의 반환값과 상수를 And 연산하여 그 결과가 0이 아니라면 파일은 상수에 해당하는 속성을 지니고 있는거에요!

예를들어, 위에서 사용한 변수 Att에 대해 다음과 같이 코딩하면-

 

Msgbox CBool(Att And FILE_ATTRIBUTE_HIDDEN) 'CBool 함수 : 인수가 0이라면 False, 그 외에는 True를 반환

 

숨김 파일이라면 True가, 숨겨지지 않은 파일이라면 False가 반환되는 거에요! 후하!

profile

Syncope.T-*

@Syncope

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

profile on loading

Loading...