Outlookの添付ファイルを一括ダウンロードする方法【Windows・Mac・VBA対応】
毎日大量のメールを受け取る環境で働いている方なら、複数の添付ファイルが付いたメールを扱う機会も多いはずです。件数が多い場合、手作業でひとつずつ添付ファイルを保存するのは非常に時間がかかります。幸い、Microsoft Outlookには複数の添付ファイルをまとめて保存できる便利な機能が備わっています。
この記事では、Outlookから添付ファイルを一括ダウンロードするさまざまな方法を、状況別にわかりやすく解説します。
Windows版Outlookで添付ファイルを一括ダウンロードする方法
Windows用のMicrosoft Outlookアプリで、すべての添付ファイルを一度に保存するには、以下の手順に従ってください。
- Outlookを起動し、自分のアカウントにサインインします。
- 添付ファイルが含まれているメールを開きます。
- 添付ファイルのいずれかを右クリックし、表示されたメニューから「すべての添付ファイルを保存」を選択します。1つのファイルだけを保存したい場合は「名前を付けて保存」を選びましょう。
- ダイアログボックスが表示されたら、キーボードのCtrlキーを押しながら、ダウンロードしたい添付ファイルをすべて選択し、「OK」をクリックします。
- ファイルの保存先フォルダーを指定して、「OK」ボタンを押せば完了です。
Mac版Outlookで添付ファイルを一括ダウンロードする方法
Mac用Outlookの場合は、さらにシンプルな操作で一括保存が可能です。
- Microsoft Outlookアプリケーションを開きます。
- 添付ファイルが含まれるメールを選択します。
- 「添付ファイル」をクリックし、「すべてダウンロード」を選択します。
- 保存先のフォルダーを指定して、「選択」をクリックします。
複数のメールから添付ファイルをまとめてダウンロードする方法
実は、複数のメールに散らばった添付ファイルを一度に抽出することも可能です。主な方法を2つ紹介します。
方法1:VBAマクロを使う
Outlook 2019 / 2016 / 2013 / 2010 / 2007 / 2003をお使いの場合、VBAエディターを使えば、選択した複数のメールから添付ファイルを自動的に保存できます。
- ドキュメントフォルダーを開き、「Attachments」という名前の新規フォルダーを作成します。ここに添付ファイルが保存されます。
- Microsoft Outlookを起動します。
- キーボードのAlt + F11キーを同時に押して、VBAエディターを開きます。
- 左側の「Project1」配下にある「Microsoft Outlook Objects」を右クリックし、「挿入」→「標準モジュール」を選択します。
- 以下のコードをコピーしてエディターに貼り付け、Enterキーを押します。
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
xFso = Nothing
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キーを押してスクリプトを実行します。操作の許可を求めるポップアップが表示された場合は、許可してください。
なお、マクロを実行する前に、あらかじめ対象となる複数のメールをOutlookのメール一覧で選択しておく必要があります。
方法2:外部ツールを使う
古いバージョン以外のOutlookを使用している場合、PST以外の形式から抽出したい場合、あるいはVBAの操作が難しく感じる場合は、専用ツールの利用がおすすめです。
「Outlook Attachment Extractor」などのアプリなら、PSTファイルだけでなく、OST、BAK、MSG、OLK、OLMといった各種形式からも添付ファイルを一括保存できます。さらに、ファイルサイズ・日付・送信者などの条件で添付ファイルを絞り込むフィルター機能も備えており、必要なファイルだけを効率的に取り出せます。
破損したファイルから添付ファイルを復元する方法
Outlookで添付ファイルを開けない・表示できない・保存できない場合は、Outlookのデータファイル(PST)が破損している可能性があります。その際は、Microsoft純正の修復ツール「SCANPST.exe」を使ってPSTファイルを修復することで、添付ファイルを取り戻せる場合があります。
まずOutlookを終了し、お使いの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」をダブルクリックして起動します。
「参照」をクリックしてスキャン対象のOutlookデータファイルを選択し、「開始」を押します。
エラーが検出された場合は「修復」を選択して修正を試みます。処理が完了したらOutlookを再起動し、添付ファイルが正常に開けるかどうかを確認しましょう。
まとめ:メール業務を効率化しよう
Outlookからの添付ファイルの一括ダウンロードはとても簡単で、工夫すれば複数のメールにまたがるファイルもまとめて取得できます。標準機能では物足りないと感じたら、「Outlook Attachment Extractor」のような専用ツールを活用するのも良い選択肢です。日々のメール業務にかかる時間を大幅に削減し、より生産的な仕事に時間を使えるようにしましょう。
-
Windows 10 PCでYouTubeのカクつき・動画ラグを解消する4つの対処法
YouTubeは、インターネット上でも有数のエンターテインメント&学習プラットフォームです。ほぼすべてのジャンルの動画を視聴でき、他の人々の経験や知識を自分のスキルアップに活かせます。ただし、それを最大限に楽しむには、動画をストレスなく快適に再生できることが大前提です。本記事では、Windows 10 PCで発生するYouTubeのカクつき(コマ落ち)や動画の遅延・ラグを解消するための具体的な方法をわかりやすく解説します。 Windows 10 PCでYouTubeのカクつきを解消する4つの方法 YouTubeの動画カクつき問題を解消するために実行できる主な方法は、次の4つです。 方法1:ブラ
-
イーサネットケーブルスプリッター完全解説:仕組み・メリット・デメリットとおすすめ製品
イーサネットケーブルスプリッターは、1本の物理的なケーブルで2つの独立したイーサネット信号を伝送できる機器です。実質的に1本のケーブルを2本として使えるため、1本のケーブルで接続できる機器の数を2倍に増やせる便利なソリューションとなります。ただし、イーサネットケーブルスプリッターにはデメリットも存在します。その仕組みを理解し、自分のニーズに合った解決策なのかを見極めることが重要です。イーサネットケーブルスプリッターの仕組みイーサネットケーブルスプリッターは、片側に2つのイーサネットポート、もう片側に1つのイーサネットポートを備えています。現在、家庭やオフィスで一般的に使われているCAT 5Eケ