VBA

【VBAでOutlook操作】複数ファイルを添付できる!下書きメールを一括作成するマクロ

前回の記事では、Excelのデータを元に下書きメールを一括作成するマクロを紹介しました。

【VBAでOutlook操作】Excelシートのデータから下書きメールを一括作成するExcelシートに用意したデータを元に、Outlookの下書きメールを一括で作成する方法を紹介しています。 宛先ごとにメール文面を変えることもできますよ!...

さて、今回は!!

もり
もり
添付ファイルも付けちゃうよ~
  • Excelのデータを元に下書きメールを作成する
  • キーワードに一致するファイルも添付する

下書きメールの完成イメージがこちらです。複数のファイルを添付できます!

outlook-attach2

下書きアイテムにファイルを添付するマクロ

Excelシートにデータを用意する

前回の記事で作成したフォーマットに「添付ファイルキーワード」の列を追加します。
※ご自身の業務要件に応じてフォーマットは調整してください。

outlook-attach1
  • F列:添付ファイルのキーワードを追加

佐藤さん宛てのメールには、ファイル名に”佐藤”が含まれるファイルを添付する

鈴木さん宛てのメールには、ファイル名に”鈴木”が含まれるファイルを添付する


という仕組みです。

任意のフォルダにファイルを用意する

下書きメールに添付するファイルを、任意のフォルダに格納しておきます。

ここでは、C:\Outlookテスト\fileというパスの配下にファイルを格納しています。このパスをマクロのコード内に記述します。

outlook-attach4

ソースコード

参照設定「Microsoft Outlook XX.0 Object Library」を使用しています。

下記①~③のプロシージャを標準モジュールに貼り付けてください。

  1. main
  2. CreateMailBody
  3. FileAttach

①メイン処理

メインのSubプロシージャです。

②メール本文作成

③ファイル添付

4行目の変数FileStorePathに、ファイルを格納しているパスを記述してください。

指定のパス配下のファイルを1つずつ検索し、指定のキーワード(”佐藤”や”鈴木”など)を含むファイルが見つかった場合、そのファイルを下書きメールに添付します。

キーワードを含むすべてのファイルを添付するため、指定フォルダ内のファイルを全件検索します。

キーワードを含むファイルが見つからない場合は、何も添付せず、メール本文のみを作成します。

outlook-attach3

マクロの使い方

事前にOutlookを起動しておき、mainプロシージャを実行してください。

※このマクロは下書きメールを作成するところまでなので、送信処理は人間の作業です。

マクロで作成されたメールの下書きを確認し、問題なければ送信ボタンを押します。

送信処理もマクロで行いたい場合

モリ
モリ
おい、これ下書き作成までしかできないのか?
メール送信も自動でやりたいぞ
もり
もり
え…?うーん、送信までできるけど…オススメしないよ

最近はセキュリティが厳しい時代ですよね。※事前に必ずテストして、誤送信のないよう、自己責任で慎重にお使いください!

 

mailItemObj.Display '下書きを表示
↓メソッドを書き換えます。
mailItemObj.Send '送信

これでマクロを実行すると、メール送信まで行われます。
送信したメールは、Outlookの[送信済みアイテム]に入ります。

 

メールの下書き作成からファイルの添付まで、めんどうくさいことは全部自動化しちゃいましょう!

添付ファイルが存在しない場合

ねぇもりさん、添付ファイルがなかったら、下書きメール作らなくていいんだけどな。
どうすればいーい?
もり
もり
なるほどね~ちょっと工夫すればできるよ!次の記事で紹介するね!
【VBAでOutlook操作】添付ファイルの有無を判定して下書きメールを作成するVBAでOutlook操作をしよう!下書きメールの作成・ファイルの添付方法を紹介しています。「キーワードに一致したファイルが存在しない場合はメールを作成しない」という処理を加えています。...

連載目次:VBAでOutlook操作

Excelシートのデータから下書きメールを一括作成する方法、指定のキーワードに合致するファイルを添付する方法などを紹介しています。

ノンプログラマーがプログラミングを学ぶ理由

ノンプログラマーがプログラミングを使えるようになると、「仕事の幅」が広がります。

日常生活にたとえると「車の運転」のイメージです。

多くの人は、大人になると自動車教習所に通って、運転の練習をしますね。F1レーサーやタクシードライバーなどの「プロ」になるわけではないのに。

車の運転ができれば、遠いところへ、速く・ラクに移動できて「生活の幅」が広がるからです。

プログラミングができるようになれば、今の仕事を速く・ラクに片づけて、「仕事の幅」を広げることができます。

「プロ」を目指す必要はありません。今の仕事をより豊かにするための「手段」、それがプログラミングです。

1週間のオンライン無料体験
いつでもどこでも今すぐ視聴OK