티스토리 뷰
반응형
엑셀로 Text 혹은 CSV 파일을 열고, 데이터 읽기, 쓰기를 하는 방법이다.
기본적으로 "Open" 명령어를 사용하여 파일을 열고, "Read", "Write"명령어를 사용하여 데이터를 읽고쓰는데,
다음과 같은 내용을 간단히 숙지하고 사용하도록 한다.
다음 3가지 모드 중에 한가지를 선택하여 파일을 열어야 한다.
INPUT
: 데이터 읽기 모드. 데이터 추가, 편집 등이 불가능
OUTPUT
: 데이터 쓰기 모드. 파일을 초기화(내용 모두 삭제)하고 빈 파일로 연다. 데이터 추가, 편집이 가능
APPEND
: 데이터 쓰기 모드. 데이터 파일을 열고 내용 맨 뒤에 커서가 위치함. 데이터 추가, 편집이 가능
따라서, 데이터를 출력하기 위해서는 기존의 데이터에 추가하는 것인지 새로 데이터를 쓸 것인지를 판단해서 Output과 Append 중 선택하여 사용하도록 한다.
또한, 파일을 열고 닫을때, File Number를 지정해주어야 하는데, 번호를 지정하려면 번거로우니, "FreeFile"이라는 명령어를 사용해서 지정하도록 한다.
○ 새파일로 쓰기 예제
Sub FileOpen()
'
' 파일 넘버 지정
'
iFree = FreeFile()
'
' 파일 열기 (파일 내용 초기화, 빈파일로 열림)
'
Open "C:\test\Default.txt" For Output As iFree
'
' 문자 출력
'
Print #iFree, "HELLO! TEST!"
'
' 파일 닫기
'
Close iFree
End Sub
○ 기존 파일에 쓰기 예제
Sub FileOpen()
'
' 파일 넘버 지정
'
iFree = FreeFile()
'
' 파일 열기 (기존 파일의 맨 끝으로 커서 이동하여 입력 대기)
'
Open "C:\test\Default.txt" For Append As iFree
'
' 문자 출력
'
Print #iFree, "HELLO! TEST!"
'
' 파일 닫기
'
Close iFree
End Sub
○ 텍스트 파일 입력 예제
Sub FileRead()
'
' 파일 넘버 지정
'
iFree = FreeFile()
'
' 파일 열기 (기존 파일의 맨 끝으로 커서 이동하여 입력 대기)
'
Open "C:\test\Default.txt" For Input As iFree
'
' 파일 끝까지 데이터 읽기
'
Do Until EOF( iFree )
Line Input #iFree, LineData ' 각 줄 데이터를 읽어서 LineData에 저장
'
' 데이터가 ,로 구분하여 저장되어있다고 가정함(CSV파일)
' 각자 데이터 포맷에 맞춰 아래 부분을 수정해야함
'
Data = Split( LineData, ",") ' LineData를 "," 별로 구분하여 배열로 저장
' 결과물..
'
' Data(0) : 첫번째 데이터
' Data(1) : 두번째 데이터
' ...
' Data(n) : 마지막 데이터
'
Loop
'
' 파일 닫기
'
Close iFree
End Sub
“파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있음"
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 요일함수
- 자주쓰는함수
- 커멘드창
- xor
- 엑셀
- EOMONTH
- vba
- sumif
- Nor
- 엑셀달력
- AND
- 동적변경
- or
- 버림
- 로또번호추출
- 마지막날함수
- 조건비교
- Mod
- IFS함수
- Text file
- 조건부합계
- 조회함수
- 다중IF
- Excel함수
- IF함수
- ceiling
- 논리함수
- weekday
- 논리연산자
- RANDBETWEEN
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
글 보관함