VBAを使って具体的にどんなプログラムコードを書けばいいんだろう?
おそらくプログラミングを始めたばかりの方は、そのような疑問を頭の中に
抱いているのではないでしょうか。
この記事では、VBAを使ってOFFICE製品であるOUTLOOK(メールソフト)上で
実際に簡単なVBAのコーディングを解説します。
まず最初は、既に完成されたプログラムコードを
・真似する。
・自分で書き写す。
・実際にソースコードを実行して動かしてみる。
これで徐々にプログラミングに慣れていきますよ。
また、今回のソースコードを通常の仕事・業務に生かせれば、
よりVBAを使用するメリットを体感することができますので
是非参考にトライしてみてください。
VBAでOUTLOOKメールを自動作成する方法(準備編)
<事前準備①(OUTLOOKの設定)>
まず最初に、リボンメニューへ 開発 タブを追加する必要があります。
最初デフォルトでは皆さんのOUTLOOKには「開発」タブが非表示になっていますので
以下の設定を行うと、OUTLOOKでVBAが使用できる状態になります。
それでは順番に設定していきましょう。
まずはOUTLOOKの左上の「ファイル」をクリックします。下記図を参照。
次に、アカウント情報の欄から「オプション」をクリックします。
次に「リボンのユーザー設定」から「開発」をチェックして有効にします。
最初、デフォルトではチェックがオフになっていますので、
チェックしたら、OKボタンをクリックしましょう。
OUTLOOKに戻ると、画面上のメニュバーに「開発」タブが表示されます。
これでOUTLOOKでVBAが使用できる状態になります。
ここまでで事前準備の1つ目が完了です。
<事前準備②(VBAの設定)>
さきほどの設定で「開発」タブが表示されましたので、そこから「Visual Basic」ボタンをクリック
してください。すると下記のVBE(Visual Basic Editor)が起動します。
そして、VBE(Visual Basic Editor)のメニューバーから「ツール」⇒「参照設定」
の順番でメニューをクリックしてください。
すると下記のライブラリを参照設定するための画面が起動します。
ここで、「Microsoft Outlook Object Library」をチェックしてください。
下記の画像では「 Microsoft Outlook 16.0 Object Library 」と表示されていますが、
この数字の部分(16.0)は皆さんのOFFICEのバージョンによって異なります。
これで事前準備はすべて完了です。
VBAでOUTLOOKを操作する際、OUTLOOKのオブジェクトをVBAでコーディングする必要があります。
上記ライブラリを設定することで、VBAでOUTLOOKのメールを作成することが可能になります。
VBAでOUTLOOKメールを自動作成する方法(コーディング編)
標準モジュールを追加する
事前準備が完了しましたら、実際にVBEにソースコードを書き写していきましょう。
最初に「挿入」メニュから「標準モジュール」をクリックしてください。
VBAをコーディングしてみよう
下記図のとおり、VBAのソースコードを書き写していきましょう。
画像では少し見えづらいので実際のソースコードは、画像下を参考に
コーディングしてみてください。
Sub 日報ひな型メール()
Dim OrgMail As Object
Set OrgMail = CreateItem(olMailItem)
With OrgMail
‘日報メールのひな型
‘メールの宛先
.To = “xxxx1@xxxx.xx.xx”
‘CCを指定
.CC = “; xxxx2@xxx.xx.xx; xxxx3@xxx.xx.xx”
‘メールの件名
.Subject = “【日報報告】”
.Body = “〇〇課長” & vbCrLf & vbCrLf &
“標記につきまして、下記のとおりご報告いたします。” & vbCrLf & vbCrLf & vbCrLf & _
“【本日の目標】” & vbCrLf & vbCrLf & _
“【本日の実績】” & vbCrLf & vbCrLf & _
“【課題】” & vbCrLf & vbCrLf & _
“【明日の目標】” & vbCrLf & vbCrL
‘添付ファイル(添付ファイルがあれば書く。なければコメントアウトする)
‘ .Attachments.Add “D:\sample.txt”
‘作成したメールを画面に表示する。
.Display
End With
End Sub
VBAソースコードの説明
①CreateItemメソッド(3行目)
OUTLOOKで使用するアイテム(メールや予定、連絡先)などのオブジェクトを作成するメソッドです。
OUTLOOKのメールを操作するためには、MailItemというオブジェクトを作成する必要があります。
そのため、パラメータに「 olMailItem 」を指定しています。
「 olMailItem 」 はメールを操作するオブジェクトを意味しています。
この記述により、冒頭でOUTLOOKメールのオブジェクトを作成しています。
②MailItemオブジェクトのプロパティ
次に作成した MailItemオブジェクトのプロパティ に値を設定することで
メールの自動作成を行います。
MailItemオブジェクトには、次のようなプロパティがあります。
プロパティ | プロパティの内容 |
---|---|
TO | メールの宛先 |
CC | メールのCC |
BCC | メールのBCC |
Subject | メールの件名(標題) |
Body | メールの本文 |
Display | メールを画面表示する |
③Attachments.Add メソッド
もしメールに添付ファイルを付けたいときは、
.Attachments.Add “D:\sample.txt”
を記述してください。
パラメータには実際に添付ファイルが格納されている
フォルダとファイル名を指定します。
VBA(OUTLOOKメール自動作成)の実行
ソースコードを書き写すことができたら、いざ、プログラムの実行!
操作は簡単です。
下記のとおり、開発タブ ⇒ マクロ ⇒ 「Project1.日報ひな形メール」 をクリックしましょう。
ワンクリックで日報メールの自動生成が完了です!
あとはひな形に沿って、報告文章を書いて送信ボタンクリックで仕事終了!
メールが画面に自動表示されます。
まとめ
今回は、
・OUTLOOKでVBAを使用する準備作業
・実際に簡単なコーディングで自動化を体感する方法
についてまとめてみました。
報告メールなどはテンプレート化しておくことで、何について書くのか悩む時間が無くなります。
書けるテーマから書き出せますし、日報作成時間の短縮につながりますね。
記載する内容もあらかじめ定型化することで、書き漏れも防ぐことができます。
あらかじめ頭の中も整理できて生産性が上がります。
もちろん、ひな型メールは、標準モジュールを追加して、数パターン作成して使い分けることも可能です。
本文のひな型は皆さんの職場やルールに沿って書き換えて是非活用してみてください。
最後までお読みいただきありがとうございました。