rand(life)

[VBA] 코드 모음 7 - 파일, 폴더 관련 본문

컴퓨터/엑셀

[VBA] 코드 모음 7 - 파일, 폴더 관련

flogsta 2017. 5. 13. 10:59

 

166 대화상자로 파일열기

변수 = application.getopenfilename(엑셀 파일, "*.xls*")

if 변수 = "false" then exit sub

workbooks.open 변수

 

177 작업폴더 변경

chdrive "c" 현재드라이브변경

chdir "c:temp" 현재폴더변경, (드라이브변경은 않음)

 

172

dir 함수를 처음 사용할 때는 폴더나 파일등 지정

두번째부터 생략하고 dir() 로 이용가능

dir (폴더명, vbDirectory) 폴더안에 파일존재하는지확인

변수 = dir(경로 & "*.xls*")

 

174 파일복사

파일존재여부 먼저 검사할것

FileCopy f1, f2

f1파일을 f2파일로 복사

 

175 파일삭제

kill f1

kill 폴더명 & "*.*" 폴더안의 모든 파일 삭제

파일이름 변경

name f1 As f2

f1파일을 f2로 이름 변경. 같은 드라이브에 잇어야함

와일드카드 안됨

 

176 새폴더 만들기

Mkdir 폴더명

이미 존재하는 이름인지 먼저 확인요

Rmdir 폴더 삭제

 

180 윈도우 참조

for i = 1 to windows.count

windows(i).caption 윈도우 제목줄에 표시되는 제목

 

 

 

[파일을 열지 않고 데이터불러오기]

[Reference] : 디케, eXCEL VBA)엑셀파일 열지않고 내용 불러오기http://urin79.com/?mid=blog&document_srl=3848696.

function을 불러야한다. 다음과 같은 식으로.

변수 = ReadValue(Path, strFile, strSheet, strAddress)

 

Function ReadValue(Path, File, sht, Rng) As Variant

Dim Msg As String

Dim strTemp As String

 

If Trim(Right(Path, 1)) <> "\" Then Path = Path & "\"

'데이터가 있는 원본 파일이 없으면 에러를 표시 매크로를 종료.

If Dir(Path & File) = "" Then

ReadValue = "해당 파일이 없습니다"

Exit Function

End If

Msg = "'" & Path & "[" & File & "]" & sht & "'!" & Range(Rng).Range("a1").Address(, , xlR1C1)

‘Path까지 꼭 써줘야함. 범위 전체를 가져오지는 못하고, 셀하나씩 가져옴

ReadValue = ExecuteExcel4Macro(Msg)

End Function