매일 수십 통의 이메일을 주고받는 환경이라면 첨부파일이 여러 개 달린 메일을 자주 접하게 됩니다. 첨부파일 개수가 많을 경우 하나씩 수동으로 저장하는 것은 상당히 비효율적이죠. 다행히 Microsoft Outlook에는 여러 첨부파일을 한 번에 저장할 수 있는 기능이 기본으로 제공됩니다.
이 글에서는 Outlook에서 이메일 첨부파일을 한 번에 모두 다운로드하는 다양한 방법을 소개합니다.
Windows용 Outlook에서 첨부파일 한 번에 다운로드하기
Windows용 Outlook 앱에서 모든 첨부파일을 한꺼번에 저장하려면 아래 단계를 따르세요.
- Outlook을 실행하고 본인의 계정으로 로그인합니다.
- 첨부파일이 포함된 이메일을 선택합니다.
- 첨부파일 중 아무거나 마우스 오른쪽 버튼으로 클릭한 뒤, 드롭다운 메뉴에서 [모든 첨부 파일 저장(Save All Attachments)]을 선택합니다. 특정 파일 하나만 저장하고 싶다면 [다른 이름으로 저장(Save As)]을 선택하면 됩니다.
- 새 대화상자가 열리면 키보드의 Ctrl 키를 누른 상태로 다운로드할 첨부파일을 모두 선택한 후 확인(OK)을 클릭합니다.
- 파일을 저장할 위치를 지정하고 확인(OK) 버튼을 누르면 완료됩니다.
Mac용 Outlook에서 첨부파일 한 번에 다운로드하기
Mac용 Outlook에서도 몇 번의 클릭만으로 모든 첨부파일을 저장할 수 있습니다.
- MS Outlook 앱을 실행합니다.
- 첨부파일이 포함된 이메일 메시지를 선택합니다.
- 상단의 [첨부 파일(Attachments)]을 클릭한 뒤 [모두 다운로드(Download All)]를 선택합니다.
- 첨부파일을 저장할 위치를 지정하고 [선택(Choose)]을 클릭합니다.
여러 이메일에 있는 첨부파일 한꺼번에 다운로드하기
서로 다른 여러 이메일에 흩어져 있는 첨부파일도 한 번에 내려받을 수 있습니다. 방법은 두 가지입니다.
VBA 매크로 활용하기
Outlook 2019, 2016, 2013, 2010, 2007 또는 2003 버전을 사용 중이라면 VBA 편집기를 이용해 여러 이메일의 첨부파일을 한 번에 저장할 수 있습니다.
- 문서(Documents) 폴더를 열고 "Attachments"라는 이름의 새 폴더를 만듭니다. 이곳에 첨부파일이 저장됩니다.
- Microsoft Outlook을 실행합니다.
- 키보드에서 Alt + F11 키를 눌러 VBA 편집기를 엽니다.
- 왼쪽 창에서 Microsoft Outlook 개체를 마우스 오른쪽 버튼으로 클릭한 뒤 삽입 > 모듈을 선택합니다.
- 아래 코드를 편집기에 붙여넣습니다.
Dim GCount As Integer
Dim GFilepath As String
Public Sub SaveAttachments()
'Update 20200821
Dim xMailItem As Outlook.MailItem
Dim xAttachments As Outlook.Attachments
Dim xSelection As Outlook.Selection
Dim i As Long
Dim xAttCount As Long
Dim xFilePath As String, xFolderPath As String, xSaveFiles As String
On Error Resume Next
xFolderPath = CreateObject("WScript.Shell").SpecialFolders(16)
Set xSelection = Outlook.Application.ActiveExplorer.Selection
xFolderPath = xFolderPath & "\Attachments\"
If VBA.Dir(xFolderPath, vbDirectory) = vbNullString Then
VBA.MkDir xFolderPath
End If
GFilepath = ""
For Each xMailItem In xSelection
Set xAttachments = xMailItem.Attachments
xAttCount = xAttachments.Count
xSaveFiles = ""
If xAttCount > 0 Then
For i = xAttCount To 1 Step -1
GCount = 0
xFilePath = xFolderPath & xAttachments.Item(i).FileName
GFilepath = xFilePath
xFilePath = FileRename(xFilePath)
If IsEmbeddedAttachment(xAttachments.Item(i)) = False Then
xAttachments.Item(i).SaveAsFile xFilePath
If xMailItem.BodyFormat <> olFormatHTML Then
xSaveFiles = xSaveFiles & vbCrLf & "<Error! Hyperlink reference not valid.>"
Else
xSaveFiles = xSaveFiles & "<br>" & "<a href='file://" & xFilePath & "'>" & xFilePath & "</a>"
End If
End If
Next i
End If
Next
Set xAttachments = Nothing
Set xMailItem = Nothing
Set xSelection = Nothing
End Sub
Function FileRename(FilePath As String) As String
Dim xPath As String
Dim xFso As FileSystemObject
On Error Resume Next
Set xFso = CreateObject("Scripting.FileSystemObject")
xPath = FilePath
FileRename = xPath
If xFso.FileExists(xPath) Then
GCount = GCount + 1
xPath = xFso.GetParentFolderName(GFilepath) & "\" & xFso.GetBaseName(GFilepath) & " " & GCount & "." + xFso.GetExtensionName(GFilepath)
FileRename = FileRename(xPath)
End If
End Function
Function IsEmbeddedAttachment(Attach As Attachment)
Dim xItem As MailItem
Dim xCid As String
Dim xID As String
Dim xHtml As String
On Error Resume Next
IsEmbeddedAttachment = False
Set xItem = Attach.Parent
If xItem.BodyFormat <> olFormatHTML Then Exit Function
xCid = ""
xCid = Attach.PropertyAccessor.GetProperty("https://schemas.microsoft.com/mapi/proptag/0x3712001F")
If xCid <> "" Then
xHtml = xItem.HTMLBody
xID = "cid:" & xCid
If InStr(xHtml, xID) > 0 Then
IsEmbeddedAttachment = True
End If
End If
End Function
참고: 위 코드는 Extend Office에서 제공되는 원본 코드이며, 그대로 편집기에 붙여넣으면 됩니다.
- F5 키를 눌러 스크립트를 실행합니다. 작업 허용 여부를 묻는 팝업 창이 나타나면 허용하면 됩니다.
외부 도구 활용하기
VBA 방식이 번거롭게 느껴지거나, PST 외의 다른 형식의 파일에서 첨부파일을 추출해야 한다면 전문 도구를 사용하는 것이 좋습니다.
예를 들어 Outlook Attachment Extractor 같은 프로그램은 PST 파일뿐 아니라 OST, BAK, MSG, OLK, OLM 등 다양한 형식에서 첨부파일을 추출할 수 있습니다. 또한 파일 크기, 날짜, 발신자 등 조건별로 첨부파일을 필터링하도록 설정할 수도 있습니다.
손상된 파일에서 첨부파일 복구하기
Outlook에서 첨부파일을 열거나 보거나 저장할 수 없다면 Microsoft Outlook의 PST 데이터 파일이 손상되었을 가능성이 있습니다. 이 경우 SCANPST.exe 같은 복구 도구로 PST 파일을 수정하여 첨부파일을 되찾을 수 있습니다.
도구를 사용하려면 먼저 Outlook을 종료한 뒤, 사용 중인 버전에 맞는 아래 경로로 이동하세요.
- Outlook 2019: C:\Program Files (x86)\Microsoft Office\root\Office16
- Outlook 2016: C:\Program Files (x86)\Microsoft Office\root\Office16
- Outlook 2013: C:\Program Files (x86)\Microsoft Office\Office15
- Outlook 2010: C:\Program Files (x86)\Microsoft Office\Office14
- Outlook 2007: C:\Program Files (x86)\Microsoft Office\Office12
그런 다음 SCANPST.EXE 파일을 더블클릭하여 실행합니다.
[찾아보기(Browse)]를 눌러 검사할 Outlook 데이터 파일을 선택한 후 [시작(Start)]을 클릭합니다.
오류가 발견되면 [복구(Repair)]를 선택해 수정을 시도합니다. 복구가 완료되면 Outlook을 다시 실행하고 정상적으로 작동하는지 확인하세요.
마무리: 이메일 업무를 더욱 간편하게
Outlook에서 여러 첨부파일을 다운로드하는 일은 생각보다 간단하며, 여러 이메일에 흩어진 파일들도 한 번에 처리할 수 있습니다. 기본 기능만으로 부족하다면 Outlook Attachment Extractor 같은 전문 도구를 활용해 업무 효율을 높여보세요.