본문 바로가기
■ 칼퇴를 위한 VBA : 사례/- VBA 통합

VBA를 활용한 업무 관련 문서 자동 검색

by 포탈메이커 2023. 7. 28.

VBA를 활용한 업무 관련 문서 자동 검색

업무 수행 중 많은 시간을 문서 찾기에 투자한다면, VBA(Visual Basic for Applications)를 활용하여 업무 효율을 향상시킬 수 있다. VBA는 마이크로소프트 오피스 제품군에 내장된 프로그래밍 언어로, 엑셀을 비롯한 다양한 애플리케이션에서 활용할 수 있다.

업무 관련 문서를 자동으로 검색하는 VBA 코드를 작성해보자. 이를 통해 업무 수행 시간을 절약하고, 작업에 집중할 수 있는 환경을 조성할 수 있다. 아래는 VBA를 사용하여 문서를 자동 검색하는 방법을 소개한다.

1. 문서 저장 폴더 선택

먼저, 업무 관련 문서가 저장된 폴더를 선택해야 한다. VBA를 사용하여 해당 폴더를 지정하고, 파일을 검색하기 위한 기준을 설정한다. 폴더 선택 기능은 Application.FileDialog 객체를 통해 구현할 수 있다.

Sub SelectFolder()
    Dim folderPath As String
    Dim dlg As FileDialog
    Set dlg = Application.FileDialog(msoFileDialogFolderPicker)
    
    With dlg
        .AllowMultiSelect = False
        .Title = "문서 저장 폴더 선택"
        
        If .Show = -1 Then
            folderPath = .SelectedItems(1) ' 선택한 폴더 경로를 변수에 저장
        End If
    End With
    
    ' 폴더 경로를 기반으로 문서 검색 진행
    SearchDocuments folderPath
    
    Set dlg = Nothing
End Sub

Sub SearchDocuments(folderPath As String)
    ' 이 함수에서 선택한 폴더 내에서 문서를 검색하고 처리하는 작업을 수행
    ' 예를 들어, 선택한 폴더 내의 문서 목록을 출력하는 등의 작업을 여기에 추가
End Sub

2. 문서 검색 및 결과 출력

문서 저장 폴더가 선택되면, 해당 폴더 내에서 특정 조건에 맞는 문서를 검색한다. 예를 들어, 특정 키워드가 문서 제목에 포함된 경우 해당 문서를 검색 결과에 추가하는 방식으로 코드를 작성할 수 있다.

Sub SelectFolder()
    Dim folderPath As String
    Dim dlg As FileDialog
    
    Set dlg = Application.FileDialog(msoFileDialogFolderPicker)
    With dlg
        .AllowMultiSelect = False
        .Title = "문서 저장 폴더 선택"
        
        If .Show = -1 Then
            folderPath = .SelectedItems(1) ' 선택한 폴더 경로를 변수에 저장
        End If
    End With
    
    ' 폴더 경로를 기반으로 문서 검색 진행
    SearchDocuments folderPath
    Set dlg = Nothing
End Sub

Sub SearchDocuments(folderPath As String)
    Dim fileName As String
    Dim filePath As String
    Dim keyword As String
    Dim result As String
    
    keyword = "업무" ' 검색할 키워드 설정
    result = "" ' 검색 결과를 저장할 문자열 초기화
    
    fileName = Dir(folderPath & "\*.docx") ' 폴더 내의 모든 .docx 파일 검색
    Do Until fileName = ""
        If InStr(fileName, keyword) > 0 Then
            ' 파일 이름에 키워드가 포함된 경우 결과 문자열에 추가
            filePath = folderPath & "\" & fileName
            result = result & "- " & fileName & vbCrLf
        End If
        fileName = Dir
    Loop
    
    ' 검색 결과 출력
    If result <> "" Then
        MsgBox "검색된 문서 목록:" & vbCrLf & result
    Else
        MsgBox "검색 결과가 없습니다."
    End If
End Sub

3. 코드 실행 및 결과 확인

VBA 코드를 작성한 후, 해당 코드를 실행하여 문서 검색을 진행할 수 있다. 업무 수행 중 특정 키워드를 포함한 문서를 찾고자 할 때, SelectFolder 서브루틴을 실행하면 문서 저장 폴더를 선택할 수 있다. 선택한 폴더 내에서 키워드로 문서를 검색한 결과가 나타나며, 결과를 확인할 수 있다.

마무리

VBA를 활용하여 업무 관련 문서를 자동 검색하는 방법을 알아봤다. 문서 저장 폴더 선택과 검색 기준 설정을 통해 원하는 결과를 얻을 수 있다. VBA를 사용하면 업무 효율을 향상시킬 수 있으며, 시간과 노력을 절약할 수 있다. 업무 자동화를 위해 VBA를 공부하고 응용해보는 것을 추천한다.