こんにちは、RPAライターのやまもとてつやです。
- VBAを使って、メールにファイルを自動添付したい
- 添付を自動で行うメリットってあるの?
当記事では、上記のような疑問にお答えします。
Outlookなどメールを自動化するメリットはかなりあります。
添付1つとってみても、プロパティを出してファイルを探してクリックするとなると意外と時間がかかるものです。
ひどいときは添付するファイルがどこにあるのかがわからず、PCの中をずっと探して日がくれるということもあります。
僕はVBAを使って業務をなるべく自動化して会社を定時に帰り、空いた時間でWebライターとして月に10万円稼げるようになりました。
当記事では、OutlookVBAを使ってファイルを自動添付する方法について解説します。
- VBAでメールにファイルを自動添付する方法がわかる
- ファイルを設定する時間が省けるので、手が空く
- 添付漏れによる二度手間がなくなるのでミスが減る
ぜひ1度読んでみてください。
もし、この記事を初めて読む方なら、以下の記事からお読みください。
![](https://life-is-simple.blog/wp-content/uploads/2020/08/vba-outlook-object-and-setting-300x157.jpg)
addメソッドで、メールにファイルを添付する
添付の自動化には、attachment.addメソッドを使いましょう。
.attachment.add(ファイルのフルパス)を、メールの変数につけるとファイルが自動添付できます。
フルパスは、ファイルのプロパティで調べられます。
下記画像をご覧ください。
![excel_file_property](https://life-is-simple.blog/wp-content/uploads/2020/11/2020-11-24_23h40_42.png)
上記画像の場合、ファイルのフルパスはC:\Users\user\Desktop\VBA.xlsmです。
このフルパスを()内に入れましょう。
実際のコード例は下記になります。
Sub メール作成2()
'メール作成時のおまじない
'Outlookアプリケーションオブジェクトの取得
Dim MyOutlook As Outlook.Application
Set MyOutlook = New Outlook.Application
'メールitemオブジェクトの取得
Dim Mailitem As Outlook.Mailitem
Set Mailitem = MyOutlook.CreateItem(olMailItem)
'添付ファイル
Dim File As String
File = "添付したいファイルのフルパス"
'宛先やCcの設定
With Mailitem
.To = Range("C2") '宛先
.CC = Range("C3") 'Cc
.BCC = Range("C4") 'Bcc
.Subject = Range("C6") '件名
.Body = Range("C7") '本文
.Attachments.Add (File) '添付
End With
'メールの表示
Mailitem.Display
End Sub
もし、毎日決まりきったファイルを添付して送っているならぜひ積極的に活用してみてください。
まとめ
以上、outlookVBAでメールにファイルを自動添付する方法について解説しました。
ちなみに、ExcelVBAを勉強するなら『できる イラストで学ぶ 入社1年目からのExcel VBA 』という本がオススメです。
イラストや図解が多いので、初心者でもサクサク読めます。
実際、僕もこの本を読みながら会社の業務をいろいろ効率化してきました。
おかげで、2時間は残業当たり前だった会社を定時に帰れるようになり、空いた時間でWebライターとして月に10万稼げるようになりました。
本は、Kindle Unlimitedでも読めますし、登録していなくても登録後30日間は無料なのでサクッと読んでみてはどうでしょうか。
以上、やまもとてつやでした。