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
예전에 하셨던 질문을 다시 하셨네요..
잘 이해가 안되시면 다시 물어보시지 그러셨어요..
다시 말씀드리자면.. 숨김파일을 찾고 싶으시면.. 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 라고 써도 되는 것입니다.
부디.. 도움이 되셨기를..