1. 아별툴
  2. 아별툴 패밀리
  3. 엑셀 질문하기
  4. 엑셀 강좌
  5. 엑셀 팁
  6. 엑셀 자료실
  7. 엑셀 연구과제
  8. 엑셀 북마크
  9. 관련 프로그램 소개

안녕하세요?

아별닷컴의 주인장 오주원입니다.



아별툴을 사용하다가..

원하는 결과물이 안 나와서 살펴보니.. 에러가 있어서 수정하면서 알게된 팁을 공유합니다.


아별툴에는 특정 폴더의 파일 리스트를 생성해주는 기능이 있습니다.

아별툴 리본메뉴 > 정보 > "특정 폴더의 파일 리스트 생성" 을 클릭하면 파일 리스트를 생성할 수 있습니다.


원래는 하위 폴더를 포함해서 생성하도록 프로그래밍했는데,

어째선지 최 상위 폴더의 리스트만 만들어서 확인해보니 GetAttr()함수의 리턴값이 예상 외의 값을 리턴하는 것이었습니다.


원래 코드는 아래와 같았습니다.

           If GetAttr(Path & strFile) = vbDirectory Then


특정 경로의 파일 또는 폴더의 속성이 디렉토리(vbDirectory)이면 그 하위 폴더를 검색하는 작업을 하게 했는데,

GetAttr(Path & strFile)의 결과값이 vbDirectory의 값이 16이 아니라 8208이 나오는 것입니다.

그래서 하위 폴더를 모두 패스해버리더군요..


그래서 검색해보니 아래와 같은 안내가 있었습니다.


http://www.tek-tips.com/viewthread.cfm?qid=751597


 Private Const FILE_ATTRIBUTE_DIRECTORY = 16
 Private Const FILE_ATTRIBUTE_NOT_CONTENT_INDEXED = 8192


위 두개 상수를 더해서 8192+16 = 8208이 나온 것이라구요..

그래서 해당 경로의 속성에 폴더의 속성이 포함된건지 확인하려면 아래와 같이 해야한다고 하네요..


            If (GetAttr(Path & strFile) And vbDirectory) = vbDirectory Then


위와 같이 수정해서 하위 폴더도 잘 검색되도록 업데이트했습니다.

수정된 아별툴은 몇가지를 더 수정해서 공개하도록 하겠습니다.


도움이 되셨기를..




참고로)

디렉토리가 아닌 파일의 경우는 GetAttr(Path & strFile) And vbDirectory 의 결과값이 0이 나옵니다.

디렉토리는 GetAttr(Path & strFile) And vbDirectory의 결과값이 16이 리턴을 합니다.



Visual Basic의 팁이지만, 같은 내용이니 아래 링크의 MSDN문서도 확인해보세요..

https://msdn.microsoft.com/en-us/library/hds568h4(v=vs.90).aspx


' Test for normal. 
If (MyAttr And FileAttribute.Normal) = FileAttribute.Normal Then
   MsgBox("This file is normal.")
End If 

' Test for normal and readonly. 
Dim normalReadonly As FileAttribute
normalReadonly = FileAttribute.Normal Or FileAttribute.ReadOnly 
If (MyAttr And normalReadonly) = normalReadonly Then
   MsgBox("This file is normal and readonly.")
End If 

' Assume MYDIR is a directory or folder.
MyAttr = GetAttr("C:\MYDIR")
If (MyAttr And FileAttribute.Directory) = FileAttribute.Directory Then
   MsgBox("MYDIR is a directory")
End If

문서 첨부 제한 : 0Byte/ 2.00MB
파일 제한 크기 : 2.00MB (허용 확장자 : *.*)
List of Articles
번호 제목 글쓴이 날짜 조회 수sort
공지 엑셀일반 엑셀 짜투리 팁 모음.. imagefile [13] [레벨:30]아별 2005-07-22 54289
공지 엑셀일반 엑셀 잘 하는 요령은? _ 엑셀 추천사이트 포함 [2] [레벨:30]아별 2009-11-12 42607
공지 엑셀일반 엑셀 단축키(바로가는키, ShortCut) 총정리입니다. imagefile [247] [레벨:30]아별 2010-08-29 109018

엑셀에러 【 엑셀에러 】 죄송합니다. Excel에 오류가 생겨 제대로 작동할 수 없습니다. Excel을(를) 닫아야 합니다. 에러 처리

  • [레벨:30]아별
  • 2023-03-28
  • 조회 수 890

엑셀기초 엑셀 수식에 메모를 달아보자

  • [레벨:30]아별
  • 2021-11-08
  • 조회 수 2587

엑셀일반 해당 날짜가 그 달에서 몇번째 주인지를 알기 위한 수식..

  • [레벨:30]a☆
  • 2005-07-25
  • 조회 수 5110

엑셀일반 Excel 2013에서 중단된 기능 및 변경된 기능 image

  • [레벨:30]아별
  • 2017-01-20
  • 조회 수 5134

엑셀일반 MS OFFICE 2007 제공 서식 파일 file

  • [레벨:30]아별
  • 2008-11-21
  • 조회 수 5306

엑셀VBA [VBA Tips] GetAttr() 디렉토리 속성 확인 에러 (8208을 리턴할 경우)

  • [레벨:30]아별
  • 2016-04-06
  • 조회 수 5474

엑셀일반 (엑셀양식) 특정일 기준 인원현황 만들기.xls file

  • [레벨:30]아별
  • 2007-11-12
  • 조회 수 5512

엑셀일반 엑셀 툴바 활용하기. imagefile

  • [레벨:30]a☆
  • 2005-06-09
  • 조회 수 5608

엑셀일반 베일벗은 오피스 2010 둘러보기 movie

  • [레벨:30]아별
  • 2009-07-19
  • 조회 수 5628

엑셀일반 엑셀에서 입력사항을 특정 목록으로 한정하기.. 유효성 검사 file

  • [레벨:30]아별
  • 2004-10-15
  • 조회 수 5665

엑셀일반 리본 메뉴, 도움말 및 기타 Microsoft Office 바로 가기 키 image

  • [레벨:30]아별
  • 2009-09-22
  • 조회 수 5800

엑셀일반 Excel 바로 가기 및 기능 키 image

  • [레벨:30]아별
  • 2009-09-22
  • 조회 수 5846

엑셀일반 엑셀에서 '카메라'.. 결제란 같이 셀의 폭과 열의 갯수가 본문과 많이 차이날때

  • [레벨:30]a☆
  • 2004-11-08
  • 조회 수 5861

엑셀일반 행 기준 데이터를 열 기준 데이터로 바꾸기.. 행열 바꾸기.. imagefile

  • [레벨:30]아별
  • 2008-04-07
  • 조회 수 6037

엑셀함수 INDEX와 SUMPRODUCT를 사용하여 2가지 이상 조건에 맞는 값 찾기.. imagefile

  • [레벨:30]아별
  • 2012-11-07
  • 조회 수 6095

엑셀일반 표 형식의 DATA를 DB형태로 바꾼 뒤, 피벗 테이블 활용하기. imagefile [1]

  • [레벨:30]아별
  • 2007-05-29
  • 조회 수 6113

엑셀일반 오피스 2013 프리뷰 버전 발표.. imagefile

  • [레벨:30]아별
  • 2012-07-24
  • 조회 수 6137

엑셀일반 엑셀 도구모음(툴바) 구성 저장하기

  • [레벨:30]a☆
  • 2006-01-17
  • 조회 수 6147

API [펌] 윈도우 메시지(Windows Message) 목록 및 설명 _ 도움말 파일 file [1]

  • [레벨:30]아별
  • 2009-11-26
  • 조회 수 6166

API [펌] 윈도우 메시지(Windows Message) 목록 및 설명..

  • [레벨:30]아별
  • 2013-03-06
  • 조회 수 6221