作業中に「時間を忘れてしまう」と言う場合、指定した時間にメッセージが表示されると気が付きやすいです。アラームでも良いですが、Windows 11や10では任意のメッセージを表示でき「何の時間なのか?」が一目でわかります。
予定を忘れないためには?
予定を登録するのにカレンダーシステムを利用している人も多いでしょう。通知などもできるため便利ですが、繰り返しの予定を登録しすぎると他の予定を見逃したりしがちです。
毎日のことであればアラーム機能を使うのも便利ですが、数が多いとわかりにくいので、毎日の同じ時間にメッセージを表示すると便利です。
Windowsにはタスクスケジューラと呼ばれる機能が搭載されており、指定した日時に指定したプログラムを実行できるので、これを使って毎日の同じ時間にメッセージを表示すると言うことが可能になります。
プログラムを作成する手順
すべてのアプリのWindowsアクセサリよりメモ帳をクリックして起動します。
以降はダイアログを表示するやり方とトースト通知を表示するやり方があり、どちらか一方を入力します。
また、これはサンプルでありアプリなど実行可能ファイルでも問題ありません。
ダイアログ
メモ帳に以下のプログラムを入力します。
title = "タイトル" message = "メッセージ" MsgBox message,vbSystemModal,title
メモ帳のファイル>名前を付けて保存よりファイル名/ファイルの種類/文字コードを入力・選択し保存をクリックします。
項目名 | 値 |
---|---|
ファイル名 | message-dialog.vbs |
ファイルの種類 | すべてのファイル |
エンコード | ANSI |
保存したファイルをダブルクリックし、ダイアログが表示されることを確認します。この時、日本語が文字化けする場合は保存時のエンコードが誤っている可能性が高いです。
問題が無ければタスクスケジューラに登録します。
トースト通知
メモ帳に以下のプログラムを入力します。
@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);}
メモ帳のファイル>名前を付けて保存よりファイル名/ファイルの種類/文字コードを入力・選択し保存をクリックします。
項目名 | 値 |
---|---|
ファイル名 | message-toast.bat |
ファイルの種類 | すべてのファイル |
エンコード | ANSI |
保存したファイルをダブルクリックし、トースト通知が表示されることを確認します。この時、日本語が文字化けする場合は保存時のエンコードが誤っている可能性が高いです。
問題が無ければタスクスケジューラに登録します。
タスクスケジューラに登録する手順
ファイル名を指定して実行よりtaskschd.mscを入力しOKをクリックします。
タスクスケジューラのタスクスケジューラライブラリより基本タスクの作成をクリックします。
基本タスクの作成より名前/説明を任意に入力し次へをクリックします。
タスクトリガーより選択し次へをクリックします。
表示された項目を入力・選択し次へをクリックします。
プログラムの開始よりプログラム/スクリプトを入力し次へをクリックします。
タスクの内容に誤りなどがあった場合は変更し、必要がなくなったら無効化または削除しておくと良いでしょう。