パソコンを使ったオフィスワークであればメールの配信は誰でも行っているはずです。毎日行う「メール配信作業」、時間にすれば数分ですが手間に感じたことはないでしょうか?
そんな時はVBAを作成するとボタンひとつで作業を終えることができて、とても便利です。1日3分の作業時間の短縮でも1ヶ月に換算すれば約60分の効果が期待できます。
コーディングもそれほど難しい内容ではありません。改善提案やQCサークルへの活用もお勧めです。
このページではVBAでのOutlookメールの作り方を解説しています。
業務の効率化やVBAを試してみたい方など、興味がある方は参考にしてください。
※初めてのVBAのコーディングについては以下のページで解説しています。
VBAマクロの作成までの操作手順
VBAを試したい方向け、ボタンからマクロを動かす
参照設定
コーディングを行う前に参照設定を行います。
![](https://previous-se.com/wp-content/uploads/2022/09/img022-01.png)
「Microsoft Outlook x.x Object Library」をチェックします。
※ X.Xの部分はパソコンの環境で異なります。
![](https://previous-se.com/wp-content/uploads/2022/09/img022-02.png)
参照設定を行わないと以下のようなエラーが出ます。
![](https://previous-se.com/wp-content/uploads/2022/09/img022-03-1024x671.png)
コーディングを行う
コーディングの内容
![](https://previous-se.com/wp-content/uploads/2022/09/img022-04-1024x858.png)
マクロの実行
マクロを実行します。
![](https://previous-se.com/wp-content/uploads/2022/09/img022-05.png)
以下のようにメールが作成されます。
![](https://previous-se.com/wp-content/uploads/2022/09/img022-06.png)
メールの送信
「送信ボタン」でメールを送信します。
実際のメール送信はOutlookを起動して行います。
必ずOutlookの送信済みメールを確認してください。
解説
オブジェクトの定義
以下の部分はOutlookオブジェクトの定義、Mailオブジェクトの定義です。
おまじないだと思って記入します。
Dim myApp As Outlook.Application
Dim myMail As Outlook.MailItem
Set myApp = CreateObject(“Outlook.Application”)
Set myMail = myApp.CreateItem(ItemType:=olMailItem)
メールの作成
<宛名>
myMail.To = “宛先1address1@test.co.jp;宛先2addres21@test.co.jp”
<件名>
myMail.Subject = “メールの件名”
<本文>
myMail.Body = “お疲れ様です。” & vbCrLf & _
“テストメールの配信を行います。” & vbCrLf & vbCrLf & _
“宜しくお願いします。”
「vbCrLf 」は改行です。
<添付ファイル>
myMail.Attachments.Add “d:\添付ファイル.txt”
<メールの表示>
myMail.Display
<メールの下書き保存>
myMail.save
<メールの送信>
myMail.save
オブジェクトを閉じる
Set myMail = Nothing
Set myApp = Nothing
VBAは難しい?
ところで、VBAは難しいでしょうか?
VBAは一般的には簡単な言語だと言えますが、プログラミングの経験がない人には難しいかもしれないですね。
書籍などの独学でなかなか覚えられないのであれば、スクールで基礎から習うのも手段です。
スクールに通ってでもプログラミングは覚える価値が有るスキルです。