デスクワークを超絶快適にするおすすめギアたち詳しく見る

【初心者向け】Outlook VBAでファイル添付忘れを防ぐ!

じょじお

いつも同じ業務メールを送信する時、下記のようなお悩みないでしょうか?

メールにおける悩み

  • 添付ファイル付けるの忘れたて送信してしまった・・・
ぽこがみさま

「添付ファイル」付け忘れ。ありがちですよね。

じょじお

今回は、マクロを利用した添付ファイル付け忘れ防止の案を紹介します。

目次

添付ファイルを添付忘れを防ぐ方法は?

解決策:Outlook VBAを使ってメールを作成する。

添付ファイルを付け忘れを防止するための解決策としてここでご紹介するのはOutlook VBAメールテンプレートをあわせて使う方法です。

なんでOutlookマクロを使うと添付忘れないの?

じょじお

マクロからメールを送信するようにして、マクロの処理の中で添付ファイルを添付するようにします。

ぽこがみさま

マクロの中で強制的にファイル添付するので添付忘れしません。

じょじお

さらにメールテンプレートと組み合わせて使えば、ミスも減るし時短にもなるよ。

今回紹介するマクロは下記のような処理をします。

Outlookマクロの処理の流れ

  • マクロを実行する。
  • ファイルピッカーが開いて、ユーザにファイルを選択させる。
  • ユーザが選択した添付ファイルと、メールテンプレートをもとにメールが自動作成される。

Outlookマクロを使用する方法は?

じょじお

下記の流れでマクロを使うための準備をしていきます。

マクロを起動するための準備

  1. メールテンプレートを準備する。
  2. Outlookでマクロを使えるようOutlookの設定にする。
    1. Outlookの「マクロの設定」でセキュリティレベルを変更する。
    2. Outlookの「開発」タブを表示する。
  3. OutlookでExcelの機能を使うための参照設定をする。
  4. マクロを記述する。

マクロを作成する手順!

STEP
Outlook VBA ファイル 添付

▲今回テストとして上記のようなメールを想定します。

STEP

(STEP1)メールテンプレートファイルを準備する。

Outlook VBA ファイル 添付

▲こんな感じでメールテンプレートを作成します。注文書の送付メールを想定しました。

▲メールテンプレートって何?とか作り方がわからない方はこちらの記事をご参考になさってください。

STEP

(STEP2)Outlookでマクロを使えるように設定変更にする。

Outlook ではデフォルトの状態ではマクロ機能が無効になっています(セキュリティのため)。セキュリティ設定を変更してマクロを使える準備をします。

Outlook で行う設定

  • トラストセンターの「マクロの設定」のセキュリティレベルの変更する。
  • 「開発」タブを表示させる

▲設定方法についてはコチラの記事で解説しています。

STEP

(STEP3)Outlook VBAでExcelの機能を使えるように設定する。

今回のマクロではファイルダイアログというExcelの機能を使います。そのためOutlook からExcelの機能を呼び出すための設定を行います。

▲設定方法については上の記事をご参考になさってください。(Excel Object Libraryの参照設定)

STEP

(STEP4)マクロコードを記述します。

Sub Attach_files_to_a_mail()
    '''ファイルダイアログを表示してユーザにファイルを選択してもらいます。
    '''選択したファイルを所定のメールテンプレートに添付して開きます。
    '''
    '''

    '■1.Excelを呼び出す処理(ファイルダイアログを呼び出すため)
    Dim excelObject As Excel.Application
    Set excelObject = New Excel.Application
    excelObject.Visible = False 'Excelは非表示にする
    
    
    '■2.メールテンプレートを呼び出す処理
    Dim objItem As MailItem
    '下記にメールテンプレートのパスを入力してね。
    Set objItem = Application.CreateItemFromTemplate("C:\Users\user\AppData\Roaming\Microsoft\Templates\注文書の送付.oft")
    
    
    '■3.ファイルダイアログを設定して表示する処理
    Dim fdFolder As Office.FileDialog
    Set fdFolder = excelObject.Application.FileDialog(msoFileDialogFilePicker)

    With fdFolder
        .InitialFileName = "%userprofile%\" '一番最初に開くフォルダのパスを記述します。
        .AllowMultiSelect = True '複数ファイルの選択を許可する場合はTrue・しない場合はFalse
        .Title = "メールに添付するファイルを選択してください(複数選択可)。"
        '選択できるファイルを制限するには下記のようにフィルターを追加してください。
'        .Filters.Add "Excels", "*.xls* ", 1
'        .Filters.Add "Images", "*.png; *.jpg; *.jpeg", 2
'        .Filters.Add "Documents", "*.doc*; *.pdf; *.txt ", 3
'        .Filters.Add "csv", "*.csv", 4
'        .Filters.Add "any", "*.*", 5
'        .FilterIndex = 1 'デフォルトのフィルターをindexで指定します。
        .Show 'ファイルダイアログを表示します。
    End With
    
    
    '■4.選択されたファイルをメールテンプレートに1個ずつ添付する
    Dim SelectedItem
    For Each SelectedItem In fdFolder.SelectedItems
      objItem.Attachments.Add SelectedItem
    Next
    
    objItem.Display '添付ファイル付けたあとにメールテンプレートを表示します。
    'objItem.Send '送信も自動化する場合はこの行のコメントアウトを外してください。ただし送信ボタンは人間が押すことをおススメします。

    Set excelObject = Nothing
End Sub

▲VBEの標準モジュールに上記のコードをコピペします。

STEP
準備完了です。

以上で準備完了です。VBEは閉じます。

作成したマクロを使ってみよう!

じょじお

準備ができたので実際に使ってみたいと思います。

STEP
マクロを実行します。
Outlook VBA ファイル 添付

▲マクロを一覧を呼び出します(ショートカットキー:Alt+F8)。作成したマクロを選択して実行をクリックします。

STEP
マクロが起動しファイルダイアログが開きます。
Outlook VBA ファイル 添付
STEP
ファイル添付済みのメールが開くので「送信」ボタンをクリックしてメール送信します。
Outlook VBA ファイル 添付

▲選択したファイルが添付された状態でメールが開きます。内容を確認して必要があれば加筆して送信しましょう。

STEP
おわり

コードを改造したい。

ファイルの複数添付を許可しないとか、添付できるファイルに制限を持たせる(Excelだけ許可とか)場合は下記の記事のを参考にプロパティの値を変更してください。

メールテンプレートを使わないで空っぽのメールに添付ファイルを付ける。

Outlook VBA ファイル 添付

▲一応メールテンプレートを使わないバージョンも用意しました。

まとめ

じょじお

以上Outlookマクロを使ったファイル添付の自動化についてご紹介しました。

ぽこがみさま

このブログではRPA・ノーコードツール・VBA/GAS/Pythonを使った業務効率化などについて発信しています。
参考になりましたらブックマーク登録お願いします!

Power Automate学習教材

Power AutomateをKindleで学びたい方はコチラ

▲Kindleと紙媒体両方提供されています。デスクトップフロー、クラウドフロー両方の解説がある書籍です。解説の割合としてはデスクトップフロー7割・クラウドフロー3割程度の比率となっています。両者の概要をざっくり理解するのにオススメです。

Power Automate for Desktopの基本をしっかり学習するのにオススメです。RPA界隈では有名なRPAエンジニア集団である『ロボ研』さんが監修されている解説書です。テスト用の業務Webシステム/デスクトップ業務アプリを使いながら実践形式で学習できる点が一番のメリットかなぁと思います。

Power Automate クラウドフローの入門書です。日本語の解説書は数少ないのでレアかと思います。変数の解説から代表的なアクションの解説がされているので初心者におすすめの本です。

Microsoft 365/ Power Automate / Power Platform / Google Apps Script…

Power Automateを動画で学びたい方はコチラ

▲Udemyで数少ないPower Automateクラウドフローを主題にした講座です。セール時は90%OFF(1200円~2000円弱)の価格になります頻繁にセールを実施しているので絶対にセール時に購入してくださいね。満足がいかなければ返金保証制度がありますので安心してご購入いただけます。

この記事が気に入ったら
フォローしてね!

シェアしてくれたらウレシイ(·:゚д゚:·)
  • URLをコピーしました!
  • URLをコピーしました!
目次
閉じる