Outlook がリマインダーを早すぎたり遅すぎたりするタイミングで表示してしまうのを防ぐには、どうすればよいでしょうか?
たとえば、毎日午前9 時から午後6 時まで勤務しているにもかかわらず、午前10 時の予定にOutlook で「2 時間前」のリマインダーを設定すると、勤務開始前の午前8 時に通知が表示されます。さらに特殊なケースでは、深夜にリマインダーが鳴ることもあり、非常に不便です。こうした早すぎたり遅すぎたりするリマインダーを避けたいと考えるOutlook ユーザーも多いでしょう。そこで、この問題をスマートに解決する VBA マクロをご紹介します。
- メールの生産性をAI テクノロジーで向上させましょう。素早い返信、新規作成、メッセージの翻訳などが、より効率的に行えるようになります。
- ルールに基づいてメール送信を自動化。自動 CC/BCCや自動転送、さらに Exchange サーバー不要で自動返信(不在時対応)も可能に…
- 次のようなリマインダー機能も搭載:BCC に私が含まれているメールに返信する際にプロンプトを表示するBCC リストにいる状態で「全員に返信」しようとした際の警告や、添付忘れリマインダーで忘れがちな添付ファイルを見逃しません…
- 次のような機能でメール作業の効率をさらに向上:添付ファイル付きで返信(全員)、署名や件名に自動で挨拶文や日時を挿入、複数メールの一括返信…
- 次のような機能でメール業務をさらにスムーズに:メールの取り消し、添付ファイルツール(すべて圧縮、自動保存すべて…)、重複を削除、およびクイックレポート…
Outlook がリマインダーを早すぎる、または遅すぎるタイミングで表示してしまうのを防ぐには、次のように操作してください。
手順 1:AltキーとF11キーを同時に押して、Microsoft Visual Basic for Applications ウィンドウを開きます。
手順 2: 左側のペインでMicrosoft Outlook Objectsを展開し、次の VBA マクロをThisOutlookSessionに貼り付けてください。
VBA: Outlook で早すぎる・遅すぎるリマインダーを防止する
Public WithEvents g_CalendarItems As Outlook.Items
Public Sub Application_Startup()
Set g_CalendarItems = Outlook.Session.GetDefaultFolder(olFolderCalendar).Items
End Sub
Private Sub g_CalendarItems_ItemAdd(ByVal Item As Object)
CheckReminder Item
End Sub
Private Sub g_CalendarItems_ItemChange(ByVal Item As Object)
CheckReminder Item
End Sub
Sub CheckReminder(ByVal Item As Object)
On Error GoTo ProcError
Dim strProcName As String
strProcName = "CheckReminder"
reminderMaxHour = 20
reminderMinHour = 9
Dim aAptItem As Outlook.AppointmentItem
Set aAptItem = Item
If aAptItem.ReminderSet Then
Dim reminderDate As Date
reminderDate = aAptItem.Start - aAptItem.ReminderMinutesBeforeStart / (24 * 60)
reminderHour = (reminderDate - Int(reminderDate)) * 24
tolerance = 0.01 ' avoid floating point small diffs (little bit less than a min)
If reminderHour < reminderMinHour - tolerance Or reminderHour > reminderMaxHour + tolerance Then
' best guess, first try to advance to next minHour
reminderDateSuggestion = reminderDate + (reminderMinHour - reminderHour) / 24
' verify if first guess is valid
If reminderHour < reminderMinHour - tolerance And reminderDateSuggestion <= aAptItem.Start Then
' OK, first guess is valid, keep it
ElseIf reminderHour > reminderMaxHour Then
' go back to max hour (same day)
reminderDateSuggestion = reminderDate - (reminderHour - reminderMaxHour) / 24
Else
' go back to max hour (previous day)
reminderDateSuggestion = reminderDate - (reminderHour + 24 - reminderMaxHour) / 24
End If
rep = MsgBox("The Reminder time is out of specified working period. Would you like to change the Reminder time?" , vbQuestion + vbYesNoCancel)
If rep = vbCancel Then
aAptItem.Display
ElseIf rep = vbYes Then
aAptItem.ReminderMinutesBeforeStart = (aAptItem.Start - reminderDateSuggestion) * 24 * 60
aAptItem.Save
End If
End If
End If
ProcExit:
Exit Sub
ProcError:
MsgBox "Unanticipated error " & Err.Number & " " & Err.Description & vbCrLf & "In procedure: " & strProcName
End Sub
注: 上記の VBA コード内の以下のパラメーターを変更すると、勤務時間を自由に設定できます。
reminderMaxHour = 20
reminderMinHour = 9
手順 3: この VBA コードを保存して、Microsoft Outlook を再起動してください。
今後、指定した勤務時間外にリマインダー付きの予定を作成し、保存して閉じるボタンをクリックすると、ダイアログボックスが表示されてリマインダーが通知されます。

リマインダーの時間が指定されたreminderMinHourより早い場合、ダイアログボックスではいをクリックすると、リマインダーの時間が変更され、指定されたreminderMinHourに通知されます。
リマインダーの時間が指定したreminderMaxHourより遅い場合、ダイアログボックスではいをクリックすると、リマインダーの時間が変更され、指定されたreminderMaxHourに通知されます。
注:この VBA コードはOutlook 2013 では正常に動作しますが、Outlook 2010 および2007 では動作しません。
最高の Office 生産性ツール
まったく新しいKutools for Outlook を、100 以上の驚きの機能とともに体験しましょう!今すぐダウンロード!
🤖KUTOOLS AI:高度な AI 技術を活用して、メールの返信、要約、最適化、拡張、翻訳、作成など、あらゆる操作をラクラクこなします。
📧メール自動化:自動返信(POP および IMAP 対応)/メールのスケジュール送信/メール送信時にルールに基づいて自動 CC/BCC/自動転送(高度なルール)/自動で挨拶文を追加/複数の宛先を持つメールを個別のメッセージに自動分割...
📨メール管理:メールの取り消し/件名などを基準に詐欺メールをブロック/重複したメールを削除/高度な検索/フォルダーを整理...
📁添付ファイルプロ:一括保存/一括分離/一括圧縮/自動保存/自動的に切り離す/自動圧縮...
🌟インターフェースの魅力:😊さらに美しくクールな絵文字を多数収録/重要なメールが届いた際に通知/Outlook を閉じる代わりに最小化...
👍ワンクリックの驚き:全員に【Attachment】付きで返信/フィッシングメール対策/🕘送信者の現在時刻ゾーンを表示...
👩🏼🤝👩🏻連絡先とカレンダー:選択したメールから連絡先を追加を一括登録/連絡先グループを個別のグループに分割/誕生日のリマインダーを削除...
Kutools はお好みの言語でお使いいただけます!英語、スペイン語、ドイツ語、フランス語、中国語をはじめ、40 以上の言語をサポートしています!
ワンクリックでKutools for Outlook の機能を即解放!今すぐダウンロードして、効率を飛躍的にアップさせましょう!


🚀 ワンクリックダウンロード — Office アドインをすべて入手
強く推奨:Kutools for Office(5-in-1)
ワンクリックで5 つのインストーラーを 一括ダウンロード! ―Kutools for Excel、Outlook、Word、PowerPointおよびOffice Tab Pro。今すぐダウンロード!
- ✅ワンクリックで簡単操作:5 つのセットアップパッケージをたった1 回のクリックで一括ダウンロードできます。
- 🚀どんな Office 作業にも対応可能:必要なときに、必要なアドインをすぐインストールできます。
- 🧰含まれるもの:Kutools for Excel / Kutools for Outlook / Kutools for Word / Office Tab Pro / Kutools for PowerPoint