Sub 현재파일_경로()
MsgBox VBA.CurDir
MsgBox ThisWorkbook.Path
End Sub


 

자, 위의 코드는 현재 열린 엑셀 통합문서의 윈도우 탐색기 상에서 경로를 얻는 겁니다.

 

CurDir 은 최초 새 통합문서 열어도 값을 받습니다.

보통 내문서의 폴더 경로를 리턴할겁니다.

하지만 ThisWorkbook.Path 은 리턴값이 없습니다.

 

 

보통 해당 파일의 경로를 얻기위해 CurDir 을 쓰는 사용자가 있는데, 만일 Ctrl+O(파일열기 대화상자 띄우는 단축키) 하신뒤, 다른 폴더를 선택 후 그 파일열기 대화상자 닫고 다시 CurDir 을 사용해보세요.

또는 Application.GetOpenFilename 메서드를 사용하여 열기 대화상자를 열어도 마찬가지입니다.

 

bFile = Application.GetOpenFilename("그림파일,*.jpg;*.png")

 

ThisWorkbook.Path 는 언제나 현재 열린 엑셀 통합문서 파일의 경로를 가져옵니다.

 

※ 참고로 ChDir 문을 이용한뒤, CurDir 을 쓰면 되기는 합니다.

만일, 다른 드라이브의 디렉토리(폴더)로 열고 싶으시면 ChDrive 로 먼저 드라이브를 바꿔줘야 합니다.

 

아래와같이 대소문자를 가리지 않으며, 맨 마지막에 \도 붙일 필요없어요.

 

VBA.ChDrive "d:"
VBA.ChDir "D:\평면이"

bFile = Application.GetOpenFilename("그림파일,*.jpg;*.png")

'메모' 카테고리의 다른 글

이것이 일본의 실체입니다. 펌.  (0) 2012.08.17
sybase dbvalid, validate table...펌  (0) 2012.08.16
vba 내문서 경로...펌  (0) 2012.08.15
sybase connection string...펌  (0) 2012.08.14
엑셀 vba specialcells ... 펌  (0) 2012.08.13

+ Recent posts