If InStr(strFile, Range("D3")) > 0 Then ActiveSheet.Hyperlinks.Add Anchor:=rngTarget.Offset(r, 0), Address:=Path & strFile, TextToDisplay:=Path & strFile r = r + 1 End If
필수적인 요소인 pathname인수는
파일 이름을 지정하는 문자식입니다. 이 pathname에는
디렉터리나 폴더, 드라이브가 포함될 수 있습니다.
반환값
GetAttr 함수가 반환한 값은 다음 속성값들의 합입니다.
상수
값
설명
vbNormal
0
일반적인 파일
vbReadOnly
1
읽기 전용
vbHidden
2
숨김
vbSystem
4
시스템 파일 매킨토시에서는 사용할 수 없습니다.
vbDirectory
16
디렉터리나 폴더
vbArchive
32
마지막 백업 후에 파일이 변경되었습니다. 매킨토시에서는 사용할 수 없습니다.
vbAlias
64
지정된 파일 이름이 별칭입니다. 매킨토시에서만 사용할 수
있습니다.
메모 이러한 상수들은 Visual
Basic에 의해 지정됩니다. 코드에서 이 이름을 실제 값 대신 사용할 수 있습니다.
참고
어떤 속성이 설정되었는지 결정하기 위해서는 And 연산자를 사용하여 GetAttr 함수가 반환한
값과 원하는 개개의 파일 속성값을 비트 비교합니다. 결과가 0이 아니면
명명된 파일에 그 속성이 설정된 것입니다. 예를 들면 문서 속성이 설정되지 않았다면 다음 And 식의 반환값은 0이 됩니다.
안녕하세요?
광택입니다님이 질문하신 내용과 유사하네요..
아래 답변을 참고하여 만들어보세요..
http://www.abyul.com/zbxe/111185
소스 중에 아래의 코드가 "사과"나 "배"를 포함하는 파일만 링크를 거는 코드인데요..
If InStr(strFile, Range("D3")) > 0 Then
ActiveSheet.Hyperlinks.Add Anchor:=rngTarget.Offset(r, 0), Address:=Path & strFile, TextToDisplay:=Path & strFile
r = r + 1
End If
이 조건문을 수정하시면 숨김파일이 아닌 파일만 대상으로 특정 작업을 할 수 있습니다.
숨김파일인지 검사하는 로직은 GetAttr함수를 사용하시면 됩니다.
(해당 파일을 열때는 Workbooks.Open("파일경로") 로 여시면 되구요..)
해당 파일이 일반 파일인 경우.. 0 또는 32 값을 리턴합니다.
? GetAttr("C:\abyul.com\Trash\abyul.com_Brush_Copy.abr")
만약 읽기 전용 속성이 있으면.. 기본 파일 값에 1을 더한 값을 갖습니다. (1 또는 33이 됩니다.)
숨김 속성만 있다면.. 기본 값에 2를 더한 값을 갖지요.. (2 또는 34가 됩니다.)
읽기 전용 속성과 숨김 속성 둘다 있다면.. 기본 값에 1+2한 3을 더한 값을 갖습니다. (3또는 35값이 되겠지요..)
VBA창에서 GetAttr()함수를 입력하고 F1을 누르면 되움말을 볼 수 있습니다.
도움이 되셨기를..
GetAttr 함수
파일, 디렉터리나 폴더 속성을 나타내는 Integer를 반환합니다.
구문
GetAttr(pathname)
필수적인 요소인 pathname 인수는 파일 이름을 지정하는 문자식입니다. 이 pathname에는 디렉터리나 폴더, 드라이브가 포함될 수 있습니다.
반환값
GetAttr 함수가 반환한 값은 다음 속성값들의 합입니다.
메모 이러한 상수들은 Visual Basic에 의해 지정됩니다. 코드에서 이 이름을 실제 값 대신 사용할 수 있습니다.
참고
어떤 속성이 설정되었는지 결정하기 위해서는 And 연산자를 사용하여 GetAttr 함수가 반환한 값과 원하는 개개의 파일 속성값을 비트 비교합니다. 결과가 0이 아니면 명명된 파일에 그 속성이 설정된 것입니다. 예를 들면 문서 속성이 설정되지 않았다면 다음 And 식의 반환값은 0이 됩니다.
백업 속성이 설정되어 있다면 0이 아닌 값을 반환합니다.