1. FAQ
  2. 엑셀(Excel)
  3. AfterEffects
  4. Premiere
  5. Photoshop
  6. ETC

이 게시판은 아별닷컴 회원만 질문을 올릴 수 있습니다. 회원에게 주어지는 특권인셈이지요. 회원이 아닌 분들은 열람만 가능합니다.

특정폴더 파일 실행

VBA 조회 수 5783 추천 수 0 2012.11.22 16:43:15

 

첨부된 예제의 매크로는 인터넷 검색 중 찾은 코드로써, 조금 수정하였습니다.

매크로를 실행하면 폴더 선택 창이 나타나면서 특정 폴더를 선택하고 확인을 누르면 하위폴더를 포함한 모든

엑셀 파일이 실행됩니다. 그런데, 숨겨진 파일까지도 실행이 되는데요.

숨긴파일을 제외하고 실행되게끔 하려면 어떻게 수정되어야 하는지요?

딴에는 코드 중 주석처리된 것처럼 하면 될까 싶었는데. 그게 아니네요. ㅠ,ㅠ


댓글 '4'

profile

[레벨:30]아별

2012.11.23 01:02:27
*.130.73.75

고수가 되고파님..


예전에 하셨던 질문을 다시 하셨네요..

잘 이해가 안되시면 다시 물어보시지 그러셨어요..

다시 말씀드리자면.. 숨김파일을 찾고 싶으시면.. GetAttr함수를 사용하시면 됩니다.

http://www.abyul.com/zbxe/111698


    For Each fileName In fldName.Files
        If InStr(fileName, ".xls") Then
            '### 바래 아랫줄 코드는 Select Case filename.attributes 하셔도 됩니다.
            Select Case GetAttr(fileName)
            '### 숨긴 파일 속성이 있으면 기본 속성에 +2해주면 됩니다.
            '### 기본 파일 속성이 0 또는 32이므로.. 2 또는 34는 숨긴 파일입니다.
            '### 단순히 숨기것 뿐만 아니라 숨겨있고, 보호되어 있으면 거기에 +1을 더한 값을 갖습니다.
            '### 그래서 3과 35인지도 체크를 하는 것입니다.

            Case 2, 34, 3, 35
            Case Else
                ActiveCell.Offset(i).Value = fileName
                i = i + 1
            End Select
        End If
    Next fileName


첨부파일을 참고하세요..

다운받기 : 특정폴더모든파일실행-4.xlsm

 

참고로..

참고하신 Scripting.FileSystemObject 개체에는 Attributes라는 속성이 있습니다.

파일의 속성을 나타내는 것이지요..

그래서 GetAttr()함수를 사용하지 않고..

Select Case filename.attributes  라고 써도 되는 것입니다.

 

부디.. 도움이 되셨기를..

 

abyulTools_0000366-1.jpg

첨부

[레벨:4]고수가되고파

2012.11.23 08:43:44
*.104.208.234

궁금한게 많아 한 사이트에 많은 질문을 하면 경우가 아닌 것 같아서 다른 사이트와 분산해서 질문을 올리는데요..

답변 받은 내용을 이리저리 생각해서 해봣는데조 안돼서 여기에 올리게 되었는데, 이게 중복이었나 보네요.

죄송;;. 앞으로는 확인하고 올릴께요. 아휴~ 창피해라~~

 

ps)선언영역에서 변수를 사용하였는데, 특별한 이유가 있는지요?

 

profile

[레벨:30]아별

2012.11.23 11:33:16
*.104.126.21



고수가되고파님..

공부를 열심히 하시는 모습이 보기 좋습니다.

 

답변을 얻으셨으면 그에 대한 피드백도 중요합니다.

그러면서 저도 배우거든요.. 아.. 이렇게 설명하면 이해를 잘 못하시는구나.. 라든가..

이렇게 설명드리면 좋아하시는구나.. 이런 것들요..

 

이미 드린 답변을 같은 내용으로 다시 질문하신다는 것은..

제 답변을 무시하시는거라고 밖에 생각이 안되네요..

솔직히 기분이 썩 좋지는 않습니다.

 

온라인의 경우..

오프라인 보다 서로의 감정을 상하게 하기 쉽습니다.

상대방의 표정이나 제스쳐를 볼 수 없는 상태에서 오로지 텍스트로만 커뮤니케이션하니까요..

조금만 더 주의를 기울인다면 모두가 즐겁고 행복한 온라인 커뮤니티가 될 것 같습니다.

 

감사합니다.

 

ps. 사용하신 프로시저가.. 재귀호출 방식을 사용하기 때문에 외부에 변수를 설정한 것입니다.

      내부에 변수를 설정하면.. 서브폴더 파일을 검색할때마다

     변수가 계속 초기화 되기때문에 같은 셀에 반복해서 파일이름을 집어넣을겁니다.

 

Private Function eachFolder(mainFolder As String)
    '### 실행 내용..
    For Each subFolder In fldName.SubFolders
        '### 이 부분이 재귀호출에 해당하죠..
        '### 자기 자신(eachFolder)을 다시 호출하는 겁니다.

        eachFolder subFolder.Path
    Next subFolder
End Function

 

[레벨:4]고수가되고파

2012.11.23 18:17:37
*.104.208.234

정말 죄송합니다. 꾸벅~

앞으로 주의하겠습니다.

문서 첨부 제한 : 0Byte/ 2.00MB
파일 제한 크기 : 2.00MB (허용 확장자 : *.*)
List of Articles
번호 제목 글쓴이 날짜 조회 수sort
공지 공지 [공지] 아별닷컴의 엑셀 질문방 폐쇄합니다. 카페 질문방 이용하세요.. imagefile [레벨:30]아별 2015-04-23 138797
822 VBA 도움을 요청드립니다~ secret [레벨:1]비베초보 2014-07-29 1
821 엑셀일반 통합문서공유풀기 secret [레벨:1]couplecoco 2014-07-29 1
820 피벗테이블 피벗테이블을 이용한 판매일보 관리 secret [레벨:1]삽질대마왕 2014-11-04 2
819 추가기능(AddIns) 비용 배부 후 집계 엑셀 프로그램을 만들고싶습니다. secret [1] [레벨:1]노스트윈즈 2013-06-27 3
818 아별툴관련질문 아별님 나카타입니다^^ secretimage [레벨:4]나카타 2013-01-10 4
817 피벗테이블 피벗테이블 계산 필드 계산문제ㅠㅠ secret [2] [레벨:4]thoi 2013-07-08 4
816 엑셀일반 아별툴 질문 secret [3] [레벨:1]ㅂㅂㅂㅂㅂ 2014-01-13 4
815 SUMIF 엑셀 문의드립니다. (엑셀2013) secret [레벨:1]pongpong 2014-11-10 4
814 엑셀수식 index 수식을 사용한 열들에서 행별 counta 사용하기 secret [2] [레벨:4]성투은자 2014-11-17 4
813 엑셀일반 셀내용 나누기 궁금합니다. secret [레벨:1]남달춘 2021-06-26 4
812 엑셀수식 데이터를 뽑고싶습니다. secret [3] [레벨:1]아코아잌 2013-08-17 6
811 기타 엑셀 문의 드립니다. secret [2] [레벨:0]대성 2015-02-06 6
810 pivot 기본 질문 드려요 secret [2] [레벨:4]thoi 2013-04-30 8
809 엑셀수식 엑셀 수식 질문드립니다._ 2가지 조건을 만족하는 값 찾기(VLOOKUP, MATCH) secret [3] [레벨:0]대성 2015-02-26 8
808 엑셀일반 아별님 도와주세요 ㅜㅜ secret [3] [레벨:2]조기리 2013-05-24 10
807 VBA 데이터 유효성 질문.. 리스트에서 항목 선택하면 기존 항목에 더해져서 표시되게 하기 secretimage [1] [레벨:1]미소가인 2012-12-22 43
806 조건에 따라 셀 나누기 file [3] [레벨:1]대기님 2011-08-01 3259
805 엑셀탭에 대한 질문입니다. file [3] [레벨:5]정화 2011-07-13 3273
804 vba에 관해 질문드립니다. (DB에서 개인별 카드로 인쇄하는 방법) file [2] [레벨:1]자인 2011-07-04 3274
803 소팅하는법좀 제발 알려주세요 [1] [레벨:1]나는너다 2011-07-07 3282