자기계발/엑셀, VBA
Excel VBA - 파일입출력
silr
2022. 3. 4. 23:08
728x90
엑셀 외부에 있는 파일에 접근해 읽기, 쓰기 하는 작업을 정리해볼까합니다.
FileSystemObject 방식
드라이브, 폴더, 파일,텍스트스트림 을 수정할 수 있도록, 액세스를 시켜주는 라이브러리입니다.
사용하는 방법은
1. VBA 스크립트 리본메뉴 > Tool > Refences에 "Microsoft Scripting Runtime"을 체크(활성화) 해주거나
2. "New FileSystemObject"
이렇게 사용가능합니다.
또한 CreateObject("Scripting.FileSystemObject") 로 코드 내에서 사용가능합니다.
파일 입출력 알고리즘
1. 파일 정보 초기화 (엑셀 파일 및 시트 정보)
2. 파일 입출력 정보 초기화 (경로 및 파일 설정)
3. 라이브러리 설정
4. 파일을 돌며 파일 수정
-파일 이름 변경
Code
코드는 다음과 같습니다.
Option Explicit
Sub FileNameChange()
Dim Workbook As Workbook
Dim sht As Worksheet
Dim path As String
Dim file_name As String
Set Workbook = ActiveWorkbook 'ThisWorkbook'
Set sht = ActiveSheet
path = Workbook.path + "\File\"
file_name = "Work"
'---------- ---------- ----------'
Dim fso As Object
Dim fsoFolder As Object
Dim fsoFile As Object
Set fso = CreateObject("Scripting.FileSystemObject")
Set fsoFolder = fso.GetFolder(path)
'---------- ---------- ----------'
Dim i As Integer
i = 0
For Each fsoFile In fsoFolder.Files
fsoFile.Name = file_name & i
i = i + 1
Next fsoFile
End Sub
728x90