Skip to main content

아웃룩: 한 이메일에서 모든 URL을 추출하는 방법

Author: Sun Last Modified: 2025-08-06

이메일에 추출해야 할 수백 개의 URL이 포함되어 있다면, 이를 하나씩 복사하고 붙여넣는 것은 지루한 작업이 될 것입니다. 이 튜토리얼에서는 이메일에서 모든 URL을 빠르게 추출할 수 있는 VBA를 소개합니다.

VBA를 사용하여 한 이메일에서 텍스트 파일로 URL 추출하기

VBA를 사용하여 여러 이메일에서 Excel 파일로 URL 추출하기

Office Tab - Microsoft Office에서 탭 편집 및 탐색을 활성화하여 작업을 간편하게 처리하세요.
지금 Kutools for Outlook의 잠금을 해제하고 무제한 액세스로 100개 이상의 기능을 즐기세요.
Outlook 2024 - 2010 또는 Outlook 365를 이러한 고급 기능으로 강화하고, 100개 이상의 강력한 기능을 사용해 이메일 경험을 한 단계 높이세요!

VBA를 사용하여 한 이메일에서 텍스트 파일로 URL 추출하기

 

1. URL을 추출하려는 이메일을 선택하고 Alt + F11 키를 눌러 Microsoft Visual Basic for Applications 창을 활성화합니다.

2. 삽입 > 모듈을 클릭하여 새 빈 모듈을 생성한 다음, 아래 코드를 모듈에 복사하여 붙여넣습니다.

VBA: 한 이메일에서 모든 URL을 텍스트 파일로 추출하기.

Sub ExportUrlToTextFileFromEmail()
'UpdatebyExtendoffice20220413
  Dim xMail As Outlook.MailItem
  Dim xRegExp As RegExp
  Dim xMatchCollection As MatchCollection
  Dim xMatch As Match
  Dim xUrl As String, xSubject As String, xFileName As String
  Dim xFs As FileSystemObject
  Dim xTextFile As Object
  Dim i As Integer
  Dim InvalidArr
  On Error Resume Next
  If Application.ActiveWindow.Class = olInspector Then
    Set xMail = ActiveInspector.CurrentItem
  ElseIf Application.ActiveWindow.Class = olExplorer Then
    Set xMail = ActiveExplorer.Selection.Item(1)
  End If
  Set xRegExp = New RegExp
  With xRegExp
    .Pattern = "(https?[:]//([0-9a-z=\?:/\.&-^!#$;_])*)"
    .Global = True
    .IgnoreCase = True
  End With
  If xRegExp.test(xMail.Body) Then
    InvalidArr = Array("/", "\", "*", ":", Chr(34), "?", "<", ">", "|")
    xSubject = xMail.Subject
    For i = 0 To UBound(InvalidArr)
      xSubject = VBA.Replace(xSubject, InvalidArr(i), "")
    Next i
    xFileName = "C:\Users\Public\Downloads\" & xSubject & ".txt"
    Set xFs = CreateObject("Scripting.FileSystemObject")
    Set xTextFile = xFs.CreateTextFile(xFileName, True)
    xTextFile.WriteLine ("Export URLs:" & vbCrLf)
    Set xMatchCollection = xRegExp.Execute(xMail.Body)
    i = 0
    For Each xMatch In xMatchCollection
      xUrl = xMatch.SubMatches(0)
      i = i + 1
      xTextFile.WriteLine (i & ". " & xUrl & vbCrLf)
    Next
    xTextFile.Close
    Set xTextFile = Nothing
    Set xMatchCollection = Nothing
    Set xFs = Nothing
    Set xFolderItem = CreateObject("Shell.Application").NameSpace(0).ParseName(xFileName)
    xFolderItem.InvokeVerbEx ("open")
    Set xFolderItem = Nothing
  End If
  Set xRegExp = Nothing
End Sub

이 코드는 이메일 제목으로 명명된 새로운 텍스트 파일을 생성하며, 경로는 C:\Users\Public\Downloads에 저장됩니다. 필요에 따라 변경할 수 있습니다.

steps on extracting all URLs from one email

3. 도구 > 참조를 클릭하여 참조 - 프로젝트 1 대화 상자를 활성화하고, Microsoft VBScript Regular Expressions 5.5 확인란을 체크한 후 확인을 클릭합니다.

steps on extracting all URLs from one email
steps on extracting all URLs from one email

4. F5 키를 누르거나 실행 버튼을 클릭하여 코드를 실행하면, 텍스트 파일이 나타나고 모든 URL이 추출됩니다.

steps on extracting all URLs from one email
steps on extracting all URLs from one email

참고: Outlook 2010 및 Outlook 365 사용자는 3단계에서 Windows Script Host Object Model 확인란도 체크해야 합니다. 그런 다음 확인을 클릭하세요.


VBA를 사용하여 여러 이메일에서 Excel 파일로 URL 추출하기

 

여러 개의 선택된 이메일에서 URL을 Excel 파일로 추출하려면, 아래 VBA 코드가 도움이 될 수 있습니다.

1. URL을 추출하려는 이메일을 선택하고 Alt + F11 키를 눌러 Microsoft Visual Basic for Applications 창을 활성화합니다.

2. 삽입 > 모듈을 클릭하여 새 빈 모듈을 생성한 다음, 아래 코드를 모듈에 복사하여 붙여넣습니다.

VBA: 여러 이메일에서 모든 URL을 Excel 파일로 추출하기

'UpdatebyExtendoffice20220414
Dim xExcel As Excel.Application
Dim xExcelWb As Excel.Workbook
Dim xExcelWs As Excel.Worksheet

Sub ExportAllUrlsToExcelFromMultipleEmails()
  Dim xMail As MailItem
  Dim xSelection As Selection
  Dim xWordDoc As Word.Document
  Dim xHyperlink As Word.Hyperlink
  On Error Resume Next
  Set xSelection = Outlook.Application.ActiveExplorer.Selection
  If (xSelection Is Nothing) Then Exit Sub
  Set xExcel = CreateObject("Excel.Application")
  Set xExcelWb = xExcel.Workbooks.Add
  Set xExcelWs = xExcelWb.Sheets(1)
  xExcelWb.Activate
  With xExcelWs
    .Range("A1") = "Subject"
    .Range("B1") = "DisplayText"
    .Range("C1") = "Link"
  End With
  With xExcelWs.Range("A1", "C1").Font
    .Bold = True
    .Size = 12
  End With
  For Each xMail In xSelection
    Set xWordDoc = xMail.GetInspector.WordEditor
    If xWordDoc.Hyperlinks.Count > 0 Then
      For Each xHyperlink In xWordDoc.Hyperlinks
          Call ExportToExcelFile(xMail, xHyperlink)
      Next
    End If
  Next
  xExcelWs.Columns("A:C").AutoFit
  xExcel.Visible = True
End Sub

Sub ExportToExcelFile(curMail As MailItem, curHyperlink As Word.Hyperlink)
  Dim xRow As Integer
  xRow = xExcelWs.Range("A" & xExcelWs.Rows.Count).End(xlUp).Row + 1
  With xExcelWs
    .Cells(xRow, 1) = curMail.Subject
    .Cells(xRow, 2) = curHyperlink.TextToDisplay
    .Cells(xRow, 3) = curHyperlink.Address
  End With
End Sub

이 코드는 모든 하이퍼링크와 해당 표시 텍스트 및 이메일 제목을 추출합니다.

steps on extracting all URLs from one email

3. 도구 > 참조를 클릭하여 참조 - 프로젝트 1 대화 상자를 활성화하고, Microsoft Excel 16.0 Object Library Microsoft Word 16.0 Object Library 확인란을 체크한 후 확인을 클릭합니다.

steps on extracting all URLs from one email
steps on extracting all URLs from one email

4. 그런 다음 VBA 코드 내에 커서를 놓고 F5 키를 누르거나 실행 버튼을 클릭하여 코드를 실행합니다. 이제 워크북이 나타나고 모든 URL이 추출되며, 원하는 폴더에 저장할 수 있습니다.

steps on extracting all URLs from one email

참고: 위의 모든 VBA는 모든 유형의 하이퍼링크를 추출합니다.


최고의 오피스 생산성 도구

속보: Kutools for Outlook 무료 버전 출시!

100개 이상의 놀라운 기능을 갖춘 완전히 새로워진 Kutools for Outlook을 경험해 보세요! 지금 다운로드하세요!

🤖 Kutools AI : 첨단 AI 기술을 활용하여 이메일 회신, 요약, 최적화, 확장, 번역, 작성까지 어떤 작업도 손쉽게 처리합니다.

📧 이메일 자동화: 자동 응답(POP 및 IMAP 지원) / 이메일 예약 발송 / 메일 발송 시 규칙에 따라 자동 참조/숨은 참조 / 고급 규칙 기반 자동 전달 / 자동 인사말 추가 / 여러 수신자 이메일을 개별 이메일로 자동 분할 ...

📨 이메일 관리: 이메일 회수 / 제목 등으로 스팸 이메일 차단 / 중복된 이메일 삭제 / 고급 검색 / 폴더 정리 ...

📁 첨부 파일 Pro: 일괄 저장 / 일괄 분리 / 일괄 압축 / 자동 저장 / 자동 분리 / 자동 압축 ...

🌟 인터페이스 매직: 😊더 예쁘고 멋진 이모지 / 중요한 이메일 도착 시 알림 / 종료 대신 Outlook 최소화 ...

👍 원클릭 편의 기능: 모두 회신(첨부 파일 포함) / 피싱 방지 이메일 / 🕘보낸 사람의 시간대 표시 ...

👩🏼‍🤝‍👩🏻 연락처 & 캘린더: 선택한 이메일에서 연락처 일괄 추가 / 연락처 그룹을 개별 그룹으로 분리 / 생일 알림 제거 ...

원하는 언어로 Kutools를 사용할 수 있습니다 – 영어, 스페인어, 독일어, 프랑스어, 중국어 등40개 이상의 언어 지원!

한 번의 클릭으로 Kutools for Outlook을 즉시 활성화하세요. 기다리지 말고, 지금 다운로드하여 효율성을 높이세요!

kutools for outlook features1 kutools for outlook features2