皆様こんにちは、ノグチです。
Outlookの予定、便利ですよね。
カレンダー形式で予定を把握しやすいし、予定の時刻前になるとアラートを出してくれたり…
でも、予定をすっかり忘れていたりして、予定直前にアラートが表示されて慌ててしまったりすること、ありませんか?
毎日お仕事を開始するとき、そう、例えばPCを開いてOutlookを起動したときに、今日の予定がまとめて表示出来れば…
それ、Outlook VBAなら、できるかもしれませんよ。
ということで今回は、前回ご紹介した登録済みの予定を取得する方法と、Outlook起動時イベントを組み合わせて、Outlook起動時に本日の予定をダイアログで表示する方法をご紹介します!
イベントプロシージャのコーディング準備
まず、イベントプロシージャのコーディング準備をしましょう。
イベントプロシージャのコーディングをしたい場合は、Microsoft Outlook Object内のモジュールに処理を書いていく必要があります。
まずOutlookでVBEを開いて、画面左側に表示されている、「This Outlook Session」をダブルクリックします。
すると、標準モジュールなどと同じように、コーディングの画面が右側に現れます。
そして画像のように、左側のドロップダウンリストから「Application」を選択します。
このように、イベントプロシージャがエディター部分に表示されます。
イベントに処理を追加するには、このエディター部分に表示されたプロシージャ内にコードを書いていきます。
標準モジュール内にイベントプロシージャを書き込んでも意味がないのでご注意を!!
Outlook起動時のApplication_Startup
Excel同様に、Outlookにも色々なイベントプロシージャがあります。
今回ご紹介するのは、Outlook起動時に実行される、Application_Startupというイベントプロシージャ。
Outlookを起動したときにメッセージを表示させるなどの処理をさせたいならば、このイベントプロシージャApplication_Startup内に処理を書き込めばOKなのです。
Application_StartupでOutlook起動時の処理を差し込む
試しに、このイベントプロシージャ内にメッセージを表示させる処理を差し込んでみましょう。
Private Sub Application_Startup() MsgBox "こんにちは!" End Sub
とっても単純ですね。
そしてOutlookを起動してみると…
この通り、Outlook起動と同時にメッセージが表示されますね。
登録済みの予定をメッセージで表示させる
さて、起動時のメッセージが表示出来たら、お次は前回ご紹介した、Outlookの予定を取得する方法と組み合わせてみましょう。
まず、前回の記事はコチラ。
実は、前回記事でご紹介したコードをまるまるそっくりもってくればOK。
前回記事のコードとの違いは、プロシージャ名がイベントプロシージャ名に変わったくらいです。
組み合わせたコードがこちら。
Private Sub Application_Startup() Dim myNamespace As NameSpace Dim myFolder As Object Dim ObjAppo As Object Dim strMsg As String Set myNamespace = GetNamespace("MAPI") Set myFolder = myNamespace.GetDefaultFolder(olFolderCalendar) For Each ObjAppo In myFolder.Items If Format(ObjAppo.Start, "yyyy/mm/dd") = Format(Date "yyyy/mm/dd") Then With ObjAppo strMsg = strMsg & Format(.Start, "hh:mm") & Space(3) & _ ObjAppo.Subject & vbCrLf End With End If Next ObjAppo MsgBox strMsg End Sub
上のコードを保存したら、今日の日付で予定をいくつか登録しておきましょう。
最後に
今回は、Outlookに登録済みの予定を取得する方法と、Outlook起動時イベントを組み合わせて、Outlook起動時に今日の予定をダイアログで表示させる方法をご紹介しました。
仕事の予定などは、毎日仕事を始めるタイミングで手帳を見たり、Outlookの予定を見たりして確認するのですが、たまに抜けてしまうこともあったり…
でも、この方法を使えばそんな予定の把握もぐっと楽になりますよ。
予定以外にもToDoやタスクリストの取得と組み合わせても便利かもしれませんね。
そもそもOutlookに予定を登録し忘れる!という場合は…別の方法を考えてみましょう。
それでは、最後までお読みいただきありがとうございました!
連載目次:Outlook VBA 予定を登録してみよう
Outlook VBAで、予定の管理も便利にしてしまいましょう。
VBAでの予定の登録だけでなく、登録済みの予定への操作方法もご紹介しています。