아웃룩: 한 이메일에서 모든 URL을 추출하는 방법
이메일에 추출해야 할 수백 개의 URL이 포함되어 있다면, 이를 하나씩 복사하고 붙여넣는 것은 지루한 작업이 될 것입니다. 이 튜토리얼에서는 이메일에서 모든 URL을 빠르게 추출할 수 있는 VBA를 소개합니다.
VBA를 사용하여 한 이메일에서 텍스트 파일로 URL 추출하기
VBA를 사용하여 여러 이메일에서 Excel 파일로 URL 추출하기
- AI 기술을 활용하여 이메일 생산성을 향상시키고, 빠르게 이메일에 회신하거나 새 이메일을 작성하며 메시지를 번역하는 등 더욱 효율적으로 작업하세요.
- 자동 참조/숨은 참조(Auto CC/BCC), 규칙에 따른 자동 전달(Auto Forward)로 이메일 작업을 자동화하고, 교환 서버 없이도 자동 응답(Out of Office)을 보낼 수 있습니다...
- BCC에 내 이메일을 포함하여 답장할 때 알림(BCC Warning)이나 첨부 파일 누락 시 알림(Remind When Missing Attachments)과 같은 알림을 받으세요...
- 첨부 파일을 포함한 회신(Reply All With Attachments), 인사말 또는 날짜와 시간을 서명 또는 제목에 자동 추가(Auto Add Greeting or Date & Time into Signature or Subject), 여러 이메일에 회신하기(Reply Multiple Emails) 등을 통해 이메일 효율성을 개선하세요...
- 이메일 회수(Recall Emails), 첨부 파일 도구(Attachment Tools)(전체 압축, 전체 자동 저장...), 중복된 이메일 삭제, 빠른 보고서 생성 등을 통해 이메일 작업을 간소화하세요...
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에 저장됩니다. 필요에 따라 변경할 수 있습니다.

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


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


참고: 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
이 코드는 모든 하이퍼링크와 해당 표시 텍스트 및 이메일 제목을 추출합니다.

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


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

참고: 위의 모든 VBA는 모든 유형의 하이퍼링크를 추출합니다.
최고의 오피스 생산성 도구
속보: Kutools for Outlook 무료 버전 출시!
100개 이상의 놀라운 기능을 갖춘 완전히 새로워진 Kutools for Outlook을 경험해 보세요! 지금 다운로드하세요!
🤖 Kutools AI : 첨단 AI 기술을 활용하여 이메일 회신, 요약, 최적화, 확장, 번역, 작성까지 어떤 작업도 손쉽게 처리합니다.
📧 이메일 자동화: 자동 응답(POP 및 IMAP 지원) / 이메일 예약 발송 / 메일 발송 시 규칙에 따라 자동 참조/숨은 참조 / 고급 규칙 기반 자동 전달 / 자동 인사말 추가 / 여러 수신자 이메일을 개별 이메일로 자동 분할 ...
📨 이메일 관리: 이메일 회수 / 제목 등으로 스팸 이메일 차단 / 중복된 이메일 삭제 / 고급 검색 / 폴더 정리 ...
📁 첨부 파일 Pro: 일괄 저장 / 일괄 분리 / 일괄 압축 / 자동 저장 / 자동 분리 / 자동 압축 ...
🌟 인터페이스 매직: 😊더 예쁘고 멋진 이모지 / 중요한 이메일 도착 시 알림 / 종료 대신 Outlook 최소화 ...
👍 원클릭 편의 기능: 모두 회신(첨부 파일 포함) / 피싱 방지 이메일 / 🕘보낸 사람의 시간대 표시 ...
👩🏼🤝👩🏻 연락처 & 캘린더: 선택한 이메일에서 연락처 일괄 추가 / 연락처 그룹을 개별 그룹으로 분리 / 생일 알림 제거 ...
원하는 언어로 Kutools를 사용할 수 있습니다 – 영어, 스페인어, 독일어, 프랑스어, 중국어 등40개 이상의 언어 지원!
한 번의 클릭으로 Kutools for Outlook을 즉시 활성화하세요. 기다리지 말고, 지금 다운로드하여 효율성을 높이세요!

