Outlook VBAをはじめよう!初心者向け手引き

会社でメールをやり取りする際にOutlookをメーラに採用している企業は多いのではないでしょうか。

Microsoft365を導入している企業であれば必須アイテムですね。

そんなOutlookですが、Excelと同じようにマクロのVBAが扱えるんです!

Outlook VBAをうまく扱えば、メールのやりとりも効率化や自動化がカンタンにできたりします。

今回は、そんなOutlook VBAを使うにあたり、実装手順や、VBAの具体例についてご紹介します!



OutlookとVBAを扱う理由

OutlookとVBAを扱う理由について説明します。

その理由は

仕事における各タスク開始のきっかけはメールによることが多いということ、

またメールツールとしてOutlookは多くの企業で採用されているので、

すでにVBAが実行できる環境が整っているというためです。

メールで何かしらの依頼を受け作業を行い、その結果をまたメールで報告する、

といった誰しも普段から行っているような業務プロセスを時短するときに

中間の作業だけでなく開始直後と終了作業も対象にすることにより、

さらなる時短化と、開始から終わりまで

完全なる作業自動化もできるようになるのです。

ただしよい話ばかりではありません。

Outlook+VBAを使いこなせれば効果が絶大である

反面セキュリティーポリシーから

制限がかけられてきた歴史があるのです。

「メールを受信したらマクロ実行」

このパターンってワームなどの機能に似ていますよね…

Outlook2013以降はルールによるスクリプト実行も廃止され、

ますます制限がかけられている状況です。

エク短におけるOutlook+VBAは、利用ポリシーとして個人利用に限定し、

メール誤送信や情報漏洩につながるような自動送信機能は使わないようにしています。

優先度合としては

リスク軽減 > 業務自動化

です。

リスクを軽減する方法も掲載していき、

問題発生機会を軽減し、

総合的に時短につながればよいと思っています。

Outlook+VBAはExcelに比べると書籍やwebなどの情報量は少なく、

マイナーな機能でわかりにくい面があるとおもいます。

エク短では初心者を対象に

わかりやすさ、見やすさを心掛け、

誰でも難なくできるような内容を中心に

掲載できればと考えています。



VBAを実行するための下準備をする

まずははじめの第一歩。

リボンメニューへ [開発] タブを追加しましょう。

※デフォルトでは [開発] タブは非表示となっています。

1.[リボンのユーザー設定] をクリックします。

2.右の [リボンのユーザ設定] のボックスのリストメニュー [開発]へチェックを入れ[OK] をクリックします。

3.リボンメニューに [開発]タブが表示されたら完成です。



VBAコードの配置場所について

VBAコードを配置する場所について説明します。
1. [開発]タブをクリックし、「Visual Basic」ボタンをクリックします。

2. Visual Basicアプリケーションの左メニューに表示されているProjectをクリックしながら展開し、
最後に表示される「ThisOutlookSession」をクリックします。

3.プロジェクトのコードエリアが表示されます。
このエリアにコードを入力することによりOutlook側でマクロとして認識され、マクロが実行できるようになります。

簡単なVBAを実行してみよう

1.以下をコピーします。

Sub test()
  MsgBox "Hello エク短!"
End Sub

2.上記3のコードエリアにコピペします。

3.上部メニューの[⇒]をクリックし実行します。

4.メッセージボックスが表示されたら完成です!
正常に機能していることが確認できました。

もし機能しなかったら

Microsoft Outlook Object Libraryの参照設定がしているか確認をします。
「Visual Basic」ボタンをクリックし、画面を開いたら、メニューから「ツール」>「参照設定」を選択します。

Microsoft Outlook 15.0 Object Libraryにチェックを入れ、OKをクリックしたら完了です。

それでもできなかったら

それでもできなかったらマクロ起動が無効化されているかもしれません。
その場合はセキュリティ センターでマクロの設定を変更します。
参考:マイクロソフト Office ドキュメントのマクロを有効または無効にする

1.[ファイル] タブをクリックします。

2.[オプション] をクリックします。

3.[セキュリティ センター] をクリックし、[セキュリティ センターの設定] をクリックします。

4.[セキュリティ センター] の [マクロの設定] をクリックします。

5.セキュリティ センターの [マクロの設定] 領域で[すべてのマクロを有効にする]をチェックし、[OK] をクリックしたら完成です。


Outlook VBAでメールのチェックをしてみる

Outlookのメール送信前のチェックって意外とセキュリティー対策として役立っています。
高額なソフトウェアは不要なのがうれしいところですね。

【Outlook VBA】カンタン!送信前に入力した宛先が指定外ドメインで、かつ添付ファイルがある場合は警告する
【Outlook VBA】カンタン!送信前に入力した宛先が指定外ドメインの場合は送信させない
【Outlook VBA】カンタン!宛先のSMTPアドレスを取得する

【Outlook VBA】カンタン!送信前に入力した宛先に指定外ドメインが含まれるか確認する

【Outlook VBA】カンタンに送信前に入力した宛先を確認するメッセージを表示する



Outlook VBAのイベント、オブジェクト

Outlook VBAのイベント、オブジェクトです。
そんなことできるんだぐらいに一度眺めてもらえばと思います。
Outlook VBAのイベント一覧
【Outlook VBA】Outlook VBAのオブジェクトについて


Outlook VBAで本文中にハイパーリンクを付与する

意外と多いハイパーリンクを付与する行為を効率化してみました。
【Outlook VBA】ボタンクリック一発でハイパーリンクを一括追加、またはハイパーリンクを一括削除する
【Outlook VBA】メール本文中のハイパーリンクを一括で削除する
【Outlook VBA】メール本文中の”\\”や”file:”から始まる文字列へハイパーリンクを一括挿入する
【Outlook VBA】メール本文中の”http”から始まる文字列へハイパーリンクを一括挿入する
【Outlook VBA】メールの署名にハイパーリンクを追加する方法

 



Outlook VBAで添付ファイルを扱ってみる

こちらも扱うことが多い添付ファイルに関する技をまとめました。
【Outlook VBA】受信したメールの添付ファイルを指定フォルダへ保存&添付ファイルリストをExcel形式で出力
【Outlook VBA】受信したメールの添付ファイルを指定フォルダへ保存する
【Outlook VBA】受信したメールの添付ファイルを自動作成した日付フォルダへ保存&添付ファイルリストをExcel形式で出力

 



Outlook VBAで連絡先を扱ってみる

連絡先に関する技をまとめました。

Excelから操作するものはExcelVBAという形にしていますが、

内部ではOutlookモジュールを呼び出しています。(ちょっと複雑ですよね…)
【Excel VBA】カンタン!Outlookの連絡先をExcelワークシートへ取り込む
【Excel VBA】カンタン!Excelにまとめた連絡先一覧を編集しOutlookの連絡先へ反映させる
【Excel VBA】カンタン!Excelにまとめた連絡先一覧をOutlookの連絡先へ一括反映させる
【Outlook VBA】Outlook連絡先をVBAのFindメソッドで検索してみよう
【Outlook VBA】Outlook連絡先をVBAのSavaメソッドで一括更新してみよう


Outlook VBAで予定表を扱ってみる

ご要望の多かった予定表に関する技をまとめました。

連絡表と同じくExcelから操作するものはExcelVBAという形にしています。
【Outlook VBA】受信したメールの添付ファイルを自動作成した日付フォルダへ保存&添付ファイルリストをExcel形式で出力
【Excel VBA】一瞬でExcelワークシートへOutlookの予定表を取り込む
【Excel VBA】一瞬でExcelワークシートからOutlookの予定表へスケジュールを登録する

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です