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

[VBA팁] 화일이 존재하는지 확인하기

조회 수 8044 추천 수 0 2009.07.31 00:43:25

file을 오픈할때나, 객체를 삽입할때나..

해당 파일이 있는지 없는지 확인해보고, 없으면 에러 처리를 해야겠지요..

 

VBA에서는 DIR함수를 사용해서 파일이 존재하는지 확인합니다.

 

    Dim strFile as string

    strFile = "D:\DeskTop\exel\abyul.com\insertPicture\images\abcd.jpg"

 

    Dim fileName As String
    fileName = Dir(strFile)

 

    If Len(fileName) > 0 Then

        파일을 열든.. 이미지를 삽입하든.. 등등

    Else

        MsgBox "화일이 없어요~", vbInformation, "룰루랄라 화일 없음 에러창"
        End
    End If

 

아래 구문이 핵심이지요.. Dir함수는 파일이 없으면 길이가 0인 문자열("")을 리턴하거든요..

     If Len(fileName) > 0 Then

 

 

Dir함수를 도움말에서 찾아보면 아래와 같습니다.

 

Dir 함수
지정한 패턴이나 파일 속성, 또는 드라이브 볼륨 레이블과 일치하는 파일, 디렉터리, 폴더 이름을 나타내는 String을 반환합니다.
구문
Dir[(pathname[, attributes])]
Dir 함수 구문은 다음과 같은 구성 요소로 되어 있습니다.
구성 요소 설명
pathname 선택적인 요소. 파일 이름을 지정하는 문자식이며, 디렉터리나 폴더, 드라이브가 포함될 수 있습니다. pathname을 찾지 못하면 길이가 0인 문자열("")을 반환합니다.
attributes 선택적인 요소. 상수 또는 수식이 되며, 그 합은 파일 속성을 지정합니다. attributes 인수가 생략되면 pathname과 일치하는 파일을 반환하지만 속성은 갖지 않습니다.
설정
attributes 인수는 다음과 같이 설정되어 있습니다.
상수 설명
vbNormal 0 속성이 없는 일반적인 파일을 지정합니다(기본값).
vbReadOnly 1 읽기 전용 파일 속성을 지정합니다.
vbHidden 2 숨김 파일 속성을 지정합니다.
vbSystem 4 시스템 파일 속성을 지정합니다.
vbVolume 8 볼륨 레이블. 다른 속성이 지정되면 vbVolume 속성은 무시됩니다. 매킨토시에서는 사용할 수 없습니다.
vbDirectory 16 디렉터리나 폴더를 지정합니다.
vbAlias 64 지정된 파일 이름이 별칭입니다. 매킨토시에서만 사용할 수 있습니다.
메모   Visual Basic으로 이러한 상수들을 지정하며 코드에서 실제값 대신에 사용할 수 있습니다.
참고
Microsoft Windows에서 Dir 함수는 여러 파일을 지정하는 다중 문자 와일드카드(*) 문자와 단일 문자 와일드카드(?)의 사용을 지원합니다. 하지만 매킨토시에서 이 문자는 유효한 파일 이름 문자로 간주되고 여러 파일을 지정하는 와일드카드 문자로 사용할 수 없습니다.
매킨토시에서는 와일드카드 문자를 사용할 수 없기 때문에 파일 형식을 사용하여 파일 그룹을 식별합니다. 파일 이름을 사용하지 않고 MacID 함수를 사용하여 파일 형식을 지정할 수 있습니다. 예를 들어 다음은 현재 폴더에 있는 첫 텍스트 파일 이름을 반환하는 예입니다.
Dir("SomePath", MacID("TEXT"))
폴더의 모든 파일을 언급하려면 비어있는 문자열을 지정합니다.
Dir("")
Microsoft Windows에서 Dir 함수와 함께 MacID 함수를 사용하면 오류가 발생합니다.
256 보다 큰 attribute 값은 MacID 값으로 간주합니다.
Dir 함수를 처음 호출할 때 pathname을 지정해야 하고 그렇지 않으면 오류가 발생합니다. 파일 특성도 지정하려면 pathname을 반드시 포함시켜야 합니다.
Dir 함수는 pathname과 일치하는 첫째 파일 이름을 반환합니다. pathname과 일치하는 다른 추가적인 파일 이름을 가져오려면 Dir 함수를 인수없이 다시 호출하십시오. 일치하는 파일 이름이 없으면 Dir 함수는 길이가 0인 문자열("")을 반환합니다. 일단 길이가 0인 문자열이 반환되면 이후 호출에서는 pathname을 지정해야 하고, 그렇지 않으면 오류가 발생합니다. 현재 pathname과 일치하는 모든 파일 이름을 검색하지 않고 새 pathname 을 변경할 수 있습니다. 하지만 Dir 함수를 순환적으로 호출할 수는 없습니다. vbDirectory 특성과 Dir 함수를 함께 호출하면 연속적으로 하위 디렉터리를 반환하지 않습니다.
팁   파일 이름을 특별한 순서없이 검색했으므로 반환된 파일을 배열에 저장한 다음 배열을 정렬할 수 있습니다.

문서 첨부 제한 : 0Byte/ 2.00MB
파일 제한 크기 : 2.00MB (허용 확장자 : *.*)
List of Articles
번호 제목 글쓴이 날짜 조회 수sort
공지 기타 엑셀 VBA 간단한 팁 모아놓기.. +_+ [레벨:30]아별 2007-01-24 34048
45 기타 엑셀 기본 제공 대화 상자 인수 목록 file [레벨:30]아별 2009-11-04 8053
44 기타 [ VBA Tip ] 엑셀 VBA로 사진(JPG)의 EXIF 정보(GPS 포함) 불러 들이기.. imagefile [6] [레벨:30]아별 2012-02-27 8050
» [VBA팁] 화일이 존재하는지 확인하기 [레벨:30]아별 2009-07-31 8044
42 기타 [VBA] 엑셀 파일을 PDF로 저장(EXPORT) 시키기 [1] [레벨:30]아별 2015-01-21 7540
41 기타 엑셀에서 소리 내기(재생) _ sound play file [1] [레벨:30]아별 2010-12-13 7515
40 기타 엑셀 2013에서 웹 브라우저 컨트롤(ActiveX, web browser)을 시트에 삽입할 수 없는 문제.. imagefile [레벨:30]아별 2014-01-19 7508
39 엑셀VBA 텍스트 박스에서 여러줄 입력하기 [레벨:30]a☆ 2004-11-15 7471
38 Excel에서 메뉴 및 메뉴 모음을 사용자 지정하는 방법 image [레벨:30]아별 2009-11-04 7423
37 [엑셀VBA] ERROR CODE file [레벨:30]아별 2008-08-28 7409
36 엑셀 추가 기능 만들기 [레벨:30]a☆ 2006-01-19 7387
35 현재 엑셀 파일의 색상표(Color Chart) 확인용 코드 [레벨:30]아별 2009-12-24 7259
34 엑셀의 사용자 정의 날짜/시간 형식(Format 함수) [레벨:30]a☆ 2004-11-12 7181
33 [엑셀VBA] 메시지 박스 활용하기 [레벨:30]아별 2004-12-22 7103
32 기타 VBE에서 휠마우스 사용가능하게 하기SpeedVB4 file [레벨:30]아별 2005-07-22 6781
31 기타 헷갈리기 쉬운 워크시트 함수와 VBA함수 비교표 imagefile [레벨:30]아별 2010-10-05 6779
30 [펌] Excel Macro(VBA) 입문자를 위한 소개자료 image [레벨:30]아별 2008-12-19 6671
29 엑셀에서 서식 지정하기.. 숫자를 한글로 표시하기 등.. [1] [레벨:30]a☆ 2004-09-24 6642
28 엑셀에서 매개변수의 전달과 외부함수 호출 [레벨:30]a☆ 2004-10-27 6488
27 기타 기본 제공 대화 상자 실행하면 초기 값 설정 imagefile [레벨:30]아별 2010-08-25 6444
26 엑셀에서 날짜 함수 컨트롤 하기 [레벨:30]a☆ 2004-10-29 6294