当サイトの記事にはプロモーションが含まれています。

Excel VBAでOutlookの添付ファイルを自動保存する方法

パソコンパソコン・スマホ教室
スポンサーリンク

皆さん、こんにちは。日々の業務で、Outlookに届くメールの添付ファイルを手作業で保存するのは大変ですよね。特に毎日多くのメールを受け取る方にとって、この作業は時間と手間がかかります。そこで今回は、ExcelのVBA(Visual Basic for Applications)を使って、Outlookの添付ファイルを自動で保存する方法をご紹介します。これにより、作業効率が大幅にアップしますよ。

スポンサーリンク

VBAとは何か?

まず、VBAについて簡単に説明します。VBAとは、MicrosoftのOffice製品に組み込まれているプログラミング言語で、作業の自動化やカスタマイズを行うことができます。難しそうに聞こえるかもしれませんが、基本を押さえれば誰でも活用できます。

Outlookの添付ファイルを自動保存する手順

それでは、具体的な手順を見ていきましょう。以下の手順で、Outlookに届いたメールの添付ファイルを自動で指定のフォルダに保存することができます。

  1. VBAエディターを開く
    Excelを起動し、キーボードの「Alt」キーを押しながら「F11」キーを押して、VBAエディターを開きます。
  2. 新しいモジュールを挿入する
    VBAエディターの上部メニューから「挿入」→「標準モジュール」を選択します。これで、新しいモジュールが作成されます。
  3. コードを入力する
    以下のコードを新しく作成したモジュールにコピー&ペーストします。

    vba
    Sub SaveOutlookAttachments()
    Dim olApp As Object
    Dim olNs As Object
    Dim olFolder As Object
    Dim olItem As Object
    Dim olAttachment As Object
    Dim saveFolder As String

    ' 保存先フォルダのパスを指定します
    saveFolder = "C:\Users\YourUsername\Documents\OutlookAttachments\"

    ' Outlookアプリケーションを取得します
    Set olApp = CreateObject("Outlook.Application")
    Set olNs = olApp.GetNamespace("MAPI")
    Set olFolder = olNs.GetDefaultFolder(6) ' 6は受信トレイを指します

    ' 受信トレイ内の各メールをチェックします
    For Each olItem In olFolder.Items
    ' メールに添付ファイルがある場合
    If olItem.Attachments.Count > 0 Then
    ' 各添付ファイルを保存します
    For Each olAttachment In olItem.Attachments
    olAttachment.SaveAsFile saveFolder & olAttachment.FileName
    Next olAttachment
    End If
    Next olItem

    ' オブジェクトを解放します
    Set olAttachment = Nothing
    Set olItem = Nothing
    Set olFolder = Nothing
    Set olNs = Nothing
    Set olApp = Nothing

    MsgBox "添付ファイルの保存が完了しました。"
    End Sub

    このコードは、Outlookの受信トレイにあるすべてのメールをチェックし、添付ファイルがあれば指定したフォルダに保存するものです。`saveFolder`の部分は、実際に保存したいフォルダのパスに変更してください。

  4. コードを実行する
    コードを入力したら、VBAエディターの上部メニューから「実行」→「Sub/UserFormの実行」を選択し、`SaveOutlookAttachments`を選んで「実行」をクリックします。これで、コードが実行され、添付ファイルが指定のフォルダに保存されます。

よくある質問や疑問

このコードはOutlookを起動していなくても動作しますか?

いいえ、このコードはOutlookアプリケーションを操作するため、Outlookがインストールされており、設定されている必要があります。Outlookが起動していない場合でも、コード内でOutlookを起動して操作します。

特定の送信者からのメールだけを対象にできますか?

はい、可能です。例えば、特定の送信者のメールアドレスをチェックする条件を追加することで、特定の送信者からのメールの添付ファイルだけを保存するようにコードを変更できます。

保存先のフォルダを自動で作成できますか?

はい、できます。コード内にフォルダの存在をチェックし、存在しない場合は新しく作成する処理を追加することで、保存先フォルダを自動で作成することが可能です。

まとめ

いかがでしたか?ExcelのVBAを活用することで、Outlookの添付ファイルを自動で保存することができ、日々の業務効率が大幅に向上します。最初は少し難しく感じるかもしれませんが、慣れてくるとさまざまな作業を自動化できるようになります。ぜひ挑戦してみてください。

この記事を書いた人
この記事を書いた人

企業の情報システム部門で10年以上、PC・アカウント・社内ネットワーク・Microsoft 365/Google Workspace運用を担当。年間数百件の問い合わせ対応(PC不調、メール送受信、Excel/Word資料、Teams会議、スマホ連携など)を通じて、初心者がつまずくポイントを「再現→原因切り分け→最短解決」の手順に落とし込んできました

現場や身近で実際に起きたトラブルをベースに、手順だけでなく「なぜそうなるか」「失敗しやすい落とし穴」「安全な設定(セキュリティ)」まで含めて解説します。

uri uriをフォローする
スポンサーリンク
よかったらシェアしてね! /
uri uriをフォローする

コメント

タイトルとURLをコピーしました