Outlook: 한 이메일에서 모든 URL 을 추출하는 방법
이메일에 수백 개의 URL 이 포함되어 있고 이를 텍스트 파일에 추출해야 한다면, 하나씩 복사하여 붙여넣는 작업은 매우 번거로울 것입니다. 이 튜토리얼에서는 이메일에서 모든 URL 을 빠르게 추출할 수 있는 VBA 코드를 소개합니다。
한 이메일에서 URL 을 추출하여 텍스트 파일에 저장하는 VBA
여러 이메일에서 URL 을 추출하여 Excel 파일로 저장하는 VBA
- 이메일 생산성을 향상시키세요AI 기술로, 이메일에 빠르게 답장하거나 새 메시지를 작성하고, 메시지를 번역하는 등 더욱 효율적으로 작업할 수 있습니다。
- 규칙에 따라 이메일 자동화를 수행하세요자동 참조/숨은 참조,자동 전달규칙 기반으로;자동 회신(부재 중) Exchange 서버 없이도 가능합니다。。。
- 다음과 같은 알림을 받아보세요BCC 에 내 이메일을 포함하여 답장할 때 알림BCC 목록에 있으면서 전체 회신할 때 알림을 받고,첨부 파일 누락 시 알림잊어버린 첨부 파일에 대한 알림도 제공됩니다。。。
- 다음 기능으로 이메일 효율성을 높이세요첨부 파일 포함 회신(전체),자동으로 인사말 또는 날짜 및 시간을 서명 또는 제목에 추가,여러 이메일 한 번에 회신...
- 다음 기능으로 이메일 작업을 간소화하세요이메일 회수,첨부 파일 도구(모두 압축, 자동 저장 모두。。。),중복 제거, 그리고빠른 보고서...
한 이메일에서 URL 을 추출하여 텍스트 파일에 저장하는 VBA
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 단계(3)에서 Windows Script Host Object Model 확인란도 함께 선택한 후 확인을 클릭하세요。
여러 이메일에서 URL 을 추출하여 Excel 파일로 저장하는 VBA
여러 개의 선택된 이메일에서 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 는 모든 유형의 하이퍼링크를 추출합니다。
최고의 Office 생산성 도구
Kutools for Outlook 의 완전히 새로운 버전을 100+가지 놀라운 기능과 함께 경험해 보세요!지금 다운로드하세요!
🤖KUTOOLS AI:고급 AI 기술을 활용하여 이메일 회신, 요약, 최적화, 확장, 번역, 작성 등 이메일 관련 작업을 손쉽게 처리합니다。
📧이메일 자동화:자동 회신(POP 및 IMAP 지원)/이메일 예약 발송/이메일 발송 시 규칙에 따라 자동 참조/숨은 참조/자동 전달(고급 규칙)/자동 인사말 추가/수신자 여러 명이 포함된 이메일을 자동으로 개별 메시지로 분할...
📨이메일 관리:이메일 회수/제목 등을 기준으로 피싱 이메일 차단/중복된 이메일 삭제/고급 검색/폴더 정리...
📁첨부파일 프로:일괄 저장/일괄 분리/일괄 압축/자동 저장/자동 분리/자동 압축...
🌟인터페이스 마법:😊더 예쁘고 멋진 이모지 제공/중요 이메일 수신 시 알림/Outlook 종료 대신 최소화...
👍한 번의 클릭으로 해결:모두 회신(첨부 파일 포함)/피싱 이메일 방지/🕘발신자의 현재 시간 시간대 표시...
👩🏼🤝👩🏻연락처 및 캘린더:선택한 이메일에서 연락처 추가 일괄 생성/연락처 그룹를 개별 그룹으로 분할/생일 알림 제거...
Kutools 를 선호하는 언어로 사용하세요 – 영어, 스페인어, 독일어, 프랑스어, 중국어 및 40+개의 다른 언어를 지원합니다!
한 번의 클릭으로 즉시 Kutools for Outlook 의 잠금을 해제하세요。 더 이상 기다리지 마시고 지금 다운로드하여 업무 효율을 높이세요!


🚀 한 번의 클릭으로 다운로드 — 모든 Office 애드인 받기
강력히 권장: Kutools for Office (5-in-1)
한 번의 클릭으로다섯 개의 설치 프로그램을동시에 다운로드하세요 —Kutools for Excel, Outlook, Word, PowerPoint및Office Tab Pro.지금 다운로드하세요!
- ✅한 번의 클릭으로 편리하게: 다섯 개의 설치 패키지를 한 번에 다운로드하세요。
- 🚀모든 Office 작업에 대비 완료: 필요한 시점에 필요한 애드인을 설치하세요。
- 🧰포함됨: Kutools for Excel / Kutools for Outlook / Kutools for Word / Office Tab Pro / Kutools for PowerPoint