본문 바로가기
카테고리 없음

Outlook VBA를 활용한 자동 이메일 분류 (Rules 적용) 방법

by insight-excel 2025. 5. 9.
반응형

안녕하세요! 😊
오늘은 Outlook VBA를 활용하여 특정 키워드가 포함된 이메일을 자동으로 분류하는 방법을 소개해 드릴게요.
이 기능을 활용하면 중요한 이메일을 자동으로 특정 폴더로 이동시키거나, 분류할 수 있어요! 🚀


🔹 Outlook 자동 이메일 분류가 필요한 이유

✅ 받은 편지함에서 원하는 이메일을 쉽게 찾을 수 있음
✅ 특정 키워드(예: "보고서", "긴급")가 포함된 이메일을 자동으로 분류 가능
✅ 반복적인 이메일 정리 작업을 자동화하여 업무 효율을 향상


🛠️ Step 1: VBA 매크로 활성화

먼저, Outlook에서 VBA를 사용할 수 있도록 매크로를 활성화해야 합니다.

📌 VBA 매크로 활성화 방법:
1️⃣ Outlook 실행
2️⃣ 파일 → 옵션 → 보안 센터 → 보안 센터 설정 클릭
3️⃣ 매크로 설정에서 "모든 매크로 활성화" 선택
4️⃣ 변경 사항 저장 후 Outlook을 다시 실행

이제 VBA를 사용할 준비가 완료되었습니다! 😊


🛠️ Step 2: 특정 키워드가 포함된 이메일을 자동 분류하는 VBA 코드 작성

이제 VBA를 활용하여 특정 키워드가 포함된 이메일을 자동으로 분류하는 코드를 작성해볼게요.

📌 VBA 코드: 특정 키워드 포함 이메일 자동 분류

Private Sub Application_NewMailEx(ByVal EntryIDCollection As String)
    Dim objNamespace As Outlook.NameSpace
    Dim objMail As Outlook.MailItem
    Dim objDestFolder As Outlook.Folder
    
    ' Outlook 네임스페이스 가져오기
    Set objNamespace = Application.GetNamespace("MAPI")
    Set objMail = objNamespace.GetItemFromID(EntryIDCollection)
    
    ' 이동할 폴더 설정 (예: "보고서 폴더")
    Set objDestFolder = objNamespace.GetDefaultFolder(olFolderInbox).Folders("보고서 폴더")
    
    ' 특정 키워드 포함 여부 확인 후 이동
    If InStr(1, objMail.Subject, "보고서", vbTextCompare) > 0 Or _
       InStr(1, objMail.Body, "보고서", vbTextCompare) > 0 Then
        objMail.Move objDestFolder
    End If
    
    ' 객체 해제
    Set objMail = Nothing
    Set objNamespace = Nothing
    Set objDestFolder = Nothing
End Sub

📌 설명
✅ Application_NewMailEx → 새로운 이메일을 받을 때 자동 실행
✅ InStr(1, objMail.Subject, "보고서", vbTextCompare) > 0 → 제목에 "보고서"가 포함된 경우 확인
✅ InStr(1, objMail.Body, "보고서", vbTextCompare) > 0 → 본문에 "보고서"가 포함된 경우 확인
✅ objMail.Move objDestFolder → 해당 이메일을 "보고서 폴더"로 이동

이제 특정 키워드("보고서")가 포함된 이메일이 자동으로 분류됩니다! 🎉


🛠️ Step 3: 폴더가 없을 경우 자동 생성하기

만약 특정 이메일을 이동할 폴더가 존재하지 않는다면, VBA로 자동으로 폴더를 생성할 수 있습니다.

📌 VBA 코드: 폴더 자동 생성 후 이메일 이동

Function GetOrCreateFolder(folderName As String) As Outlook.Folder
    Dim objNamespace As Outlook.NameSpace
    Dim objInbox As Outlook.Folder
    Dim objFolder As Outlook.Folder
    
    Set objNamespace = Application.GetNamespace("MAPI")
    Set objInbox = objNamespace.GetDefaultFolder(olFolderInbox)
    
    ' 폴더 존재 여부 확인
    On Error Resume Next
    Set objFolder = objInbox.Folders(folderName)
    On Error GoTo 0
    
    ' 폴더가 없으면 새로 생성
    If objFolder Is Nothing Then
        Set objFolder = objInbox.Folders.Add(folderName)
    End If
    
    Set GetOrCreateFolder = objFolder
End Function

📌 설명
✅ 특정 폴더가 존재하는지 확인하고, 없으면 자동 생성
✅ objInbox.Folders.Add(folderName) → 폴더 자동 생성

이제 기존에 폴더가 없어도 자동으로 생성된 후 이메일이 이동됩니다! 🚀


🎯 마무리 및 활용 방법

이제 Outlook VBA를 활용해 특정 키워드가 포함된 이메일을 자동으로 분류할 수 있어요! 😊

✔️ 받은 이메일을 자동으로 정리하여 업무 효율을 극대화
✔️ 특정 키워드(예: "긴급", "보고서", "미팅")를 기반으로 자동 이동 가능
✔️ 폴더가 없으면 자동으로 생성하여 이메일을 정리
✔️ 업무 메일을 깔끔하게 관리하여 더 빠르게 원하는 정보를 찾을 수 있음

이제 VBA를 활용해 스마트한 이메일 자동 정리를 설정해보세요! 🎉

반응형