자기계발/엑셀, 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