VBA】受信したメールの添付ファイルを指定フォルダへ保存するOutlookの受信用フォルダを対象に添付ファイルを取り出したい場合はないでしょうか。月次ごとにフォルダが分かれていて、該当月フォルダの添付資料を取り出したいという時です。そんな時、クリック一発でフォルダ内にある添付ファイルが取り出せたら効率がよいですよね。・受信メールフォルダのさらにサブフォルダにあるメールの添付ファイルを指定フォルダへ保存する方法についてまとめます!もくじ添付ファイル付きメールを格納するフォルダを作成するマクロを設置する下準備をする。マクロを登録するマクロを実行する受信トレイ直下を指定し添付ファイルを保存する<追加>添付ファイルの上書き保存の回避、期間指定をする方法さいごに添付ファイル付きメールを格納するフォルダを作成する以下のように第二階層目に添付用フォルダを作ります。こんな感じでフォルダ名は用途に合わせて変更してください。続いてマクロを実装しましょう。マクロを設置する下準備をする。以下を参考にVBAコードを配置する場所を表示させます。Basic」を押します。以下のサンプルコードをコピーします。'添付ファイルがあるメールのフォルダを指定します。2階層以上ある場合は「.Folders.Item(<フォルダ名>)」を追加してください。'添付ファイルの保存先をパスで指定します。'添付ファイルに拡張子がある場合のみ処理します。SubVBEのコードエリアへ、コードを貼り付けて保存します。マクロを実行する早速添付ファイルが保存されるか確認をしてみましょう。添付付きメールを二階層目の「1-1.サブフォルダ」へ移動します。ソースコードを編集します。添付ファイルがあるメールのフォルダを指定します。2階層以上ある場合は「.Folders.Item(<フォルダ名>)」を追加してください。objInbox.Folders.Item("1.サブフォルダ").Folders.Item("1-1.サブフォルダ")添付ファイル保存先となるフォルダのパスを以下ソースコードの””内に指定します。"C:\Users\extan\Documents\outlook_temp\"タカヒロパスの最後に「\」を付けるようにしてください。ない場合は添付ファイルは保存されません。次にoutlook本体に戻り「開発」タブの「マクロ」>「添付ファイル」を押下します。はい!添付ファイルが指定フォルダへ保存されましたね。受信トレイ直下を指定し添付ファイルを保存するこれまでサブフォルダを指定してきましたが、次は受信トレイ直下を指定し添付ファイルを保存する方法についても説明をします。変更箇所は以下の通りです。objInboxタカヒロobjInbox自体は受信トレイを指しますのでそのままオブジェクトにセットすれば受信トレイを対象にすることができます。添付ファイルの上書き保存の回避、期間指定をする方法について別記事にまとめました。上書き保存をさせたくない場合は、ご参考頂きたくお願いいたします。VBA】受信トレイの添付ファイルを一括保存する方法!期間指定も!さいごにいかがでしょうか。・受信メールフォルダのさらにサブフォルダにあるメールの添付ファイルを指定フォルダへ保存する方法についてまとめました。添付ファイルを手動で1件づつフォルダへドラッグアンドドロップするよりは手間はぐっと軽減されたかと思います。このような自動化により普段の作業が楽になるばかりではなく資料を収集する場合にも有効ですね。応用編としてはフォルダ指定先をyyymmddの日付フォルダを自動生成してその中に格納したり、添付ファイルリストと格納先へのハイパーリンクをExcelに出力したりとかいいかもしれません。この記事の関連キーワードこちらの記事の関連キーワード一覧です。クリックするとキーワードに関連する記事一覧が閲覧できます。メール「メール」の関連記事こちらの記事の内容「メール」に関連する記事一覧です。PMありがとうございました。古いので、出来なかったみたいです。原因が分かりスッキリ致しました。PMコピーさせて頂き、保存場所や添付メール場所も入力しましたが、保存が出来ませんでした。エラーも出ないで、動きがありません。何が間違えなのか分かりません。お教え頂きたくお願い申し上げます。GetNamespace(“MAPI”).GetDefaultFolder(olFolderInbox)‘添付ファイルの保存先をパスで指定します。2階層以上ある場合は「.Folders.Item(<フォルダ名>)」を追加してください。objItem.Attachments.Count‘添付ファイルに拡張子がある場合のみ処理します。PMいつもご利用ありがとうございます。保存場所や添付メール場所を入力しても添付が保存できない件ですが、コードは問題なさそうです。ほかには、フォルダ指定がOutlookの実際の構成とあっていないことが考えられますので、ご確認いただきたくお願いいたします。古いメールは、Exchengeサーバ側に保管される場合があり、この場合、PCのOutlookには存在しないため取得はできません。取得できるかご確認いただきたくお願いいたします。コメントをキャンセルメールアドレスが公開されることはありません。*サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。VBAエラー:ユーザー定義型は定義されていません。VBA】メールの添付ファイルを保存&添付ファイル名一覧を取得する方法RECOMMENDこちらの記事も人気です。2019.9.27【VBA】実行時エラー'13'「型が一致しません。VBA】転送メールを作成する方法!宛先追加や件名・本文追記も!2023.2.1VBAエラー:ユーザー定義型は定義されていません。