Windowsで指定した日時にメッセージを表示する方法

Windowsで指定した日時にメッセージを表示する方法

2022年1月28日

作業中に「時間を忘れてしまう」と言う場合、指定した時間にメッセージが表示されると気が付きやすいです。アラームでも良いですが、Windows 11や10では任意のメッセージを表示でき「何の時間なのか?」が一目でわかります。

予定を忘れないためには?

予定を登録するのにカレンダーシステムを利用している人も多いでしょう。通知などもできるため便利ですが、繰り返しの予定を登録しすぎると他の予定を見逃したりしがちです。

毎日のことであればアラーム機能を使うのも便利ですが、数が多いとわかりにくいので、毎日の同じ時間にメッセージを表示すると便利です。

Windowsにはタスクスケジューラと呼ばれる機能が搭載されており、指定した日時に指定したプログラムを実行できるので、これを使って毎日の同じ時間にメッセージを表示すると言うことが可能になります。

プログラムを作成する手順

Windows 11を例とします。Windows 10でも同様の操作が可能ですが文言などが異なる場合があります。

すべてのアプリWindowsアクセサリよりメモ帳をクリックして起動します。
Windows 11→スタートメニュー→すべてのアプリ

以降はダイアログを表示するやり方とトースト通知を表示するやり方があり、どちらか一方を入力します。

また、これはサンプルでありアプリなど実行可能ファイルでも問題ありません。

ダイアログ

VBSctiptを例としますが2027年頃に廃止される予定です。

メモ帳に以下のプログラムを入力します。

タイトルメッセージは任意に変更できます。
title = "タイトル"
message = "メッセージ"

MsgBox message,vbSystemModal,title

メモ帳のファイル>名前を付けて保存よりファイル名ファイルの種類文字コードを入力・選択し保存をクリックします。

ファイル名は任意ですが拡張子(.vbs)は変更できません。また、保存場所は任意で問題ありません。
項目名
ファイル名 message-dialog.vbs
ファイルの種類 すべてのファイル
エンコード ANSI

Windows 11→メモ帳→名前を付けて保存→message-dialog.vbs

保存したファイルをダブルクリックし、ダイアログが表示されることを確認します。この時、日本語が文字化けする場合は保存時のエンコードが誤っている可能性が高いです。
Windows 11→VBScript→メッセージボックス

問題が無ければタスクスケジューラに登録します。

トースト通知

メモ帳に以下のプログラムを入力します。

メッセージは任意に変更できます。
@echo off

set ToastMsg=\"メッセージ\"
PowerShell.exe ^&{$m=%ToastMsg%;$a='%comspec%';$t=[Windows.UI.Notifications.ToastNotificationManager,Windows.UI.Notifications,ContentType=WindowsRuntime]::GetTemplateContent([Windows.UI.Notifications.ToastTemplateType,Windows.UI.Notifications,ContentType=WindowsRuntime]::ToastText01);$t.GetElementsByTagName('text').Item(0).InnerText=$m;[Windows.UI.Notifications.ToastNotificationManager]::CreateToastNotifier($a).Show($t);}

メモ帳のファイル>名前を付けて保存よりファイル名ファイルの種類文字コードを入力・選択し保存をクリックします。

ファイル名は任意ですが拡張子(.bat)は変更できません。また、保存場所は任意で問題ありません。
項目名
ファイル名 message-toast.bat
ファイルの種類 すべてのファイル
エンコード ANSI

Windows 11→メモ帳→名前を付けて保存→message-toast.bat

保存したファイルをダブルクリックし、トースト通知が表示されることを確認します。この時、日本語が文字化けする場合は保存時のエンコードが誤っている可能性が高いです。
Windows 11→トースト通知

問題が無ければタスクスケジューラに登録します。

タスクスケジューラに登録する手順

Windows 11を例とします。Windows 10でも同様の操作が可能ですが文言などが異なる場合があります。

ファイル名を指定して実行よりtaskschd.mscを入力しOKをクリックします。

キーボードよりRキーを押下すると表示されます。

Windows 11→ファイル名を指定して実行

タスクスケジューラのタスクスケジューラライブラリより基本タスクの作成をクリックします。
Windows 11→タスクスケジューラー→タスクスケジューラライブラリ

基本タスクの作成より名前説明を任意に入力し次へをクリックします。
Windows 11→タスクスケジューラー→タスクスケジューラライブラリ→基本タスクの作成

タスクトリガーより選択し次へをクリックします。

今回は毎日を選択しました。

Windows 11→タスクスケジューラー→タスクスケジューラライブラリ→基本タスクの作成→タスクトリガー

表示された項目を入力・選択し次へをクリックします。

前画面で選択した項目によって異なります。

Windows 11→タスクスケジューラー→タスクスケジューラライブラリ→基本タスクの作成→タスクトリガー→毎日

操作よりプログラムの開始を選択し次へをクリックします。
Windows 11→タスクスケジューラー→タスクスケジューラライブラリ→基本タスクの作成→操作

プログラムの開始よりプログラム/スクリプトを入力し次へをクリックします。

プログラム/スクリプト参照をクリックし前述したスクリプトなどを指定します。

Windows 11→タスクスケジューラー→タスクスケジューラライブラリ→基本タスクの作成→プログラムの開始

要約より内容に問題が無ければ完了をクリックします。
Windows 11→タスクスケジューラー→タスクスケジューラライブラリ→基本タスクの作成→要約→指定した日時にメッセージを表示する

タスクの内容に誤りなどがあった場合は変更し、必要がなくなったら無効化または削除しておくと良いでしょう。