見出し画像

時刻指定リマインダーをポップアップさせる(コピペするだけですぐ使える)

リマインダーシリーズの最新版です。本ツールはスヌーズ機能はありません。(自分が、いつもWeb会議の開始を忘れてしまうから作りました)

x分後に通知してスヌーズ機能があるものはこちら▼

ソースコード

さきにソースコードをお見せすると下記のとおりです。
VBScriptで作成しております。

'時刻指定リマインダー
input = inputbox("日時(m/d hh:mm)または時刻(hh:mm)を入力", "通知時刻を入力")

on error resume next 'エラーは無視して進める

'日時形式でそろえるが、時刻だけの場合は当日の日付を加える
remindtime = cdate(FormatDateTime(input, 0))
If not InStr(remindtime, "/") > 0 Then remindtime = cdate(FormatDateTime(Now, 1)& " " &input)

nowtime = now()
waittime = datediff("s",nowtime,remindtime) '通知時刻と現在時刻の差分を秒単位で取得

if not waittime > 0 then '入力が適切ではない、または過去の時刻の場合終了
    msgbox "未来の時刻を入力してください"
    WScript.quit
end if

obj = inputbox("何を通知しますか?","自由入力","会議の時間です")
if obj = "" then WScript.quit 'キャンセルが押されたら終了

WScript.Sleep waittime * 1000 'Sleepはミリ秒単位

MsgBox "Time has come" + vbcrlf + vbcrlf + "■ " + obj + " ■" , vbInformation , "It's time"

使い方

  1. 上記コードをコピーして

  2. メモ帳に貼り付け

  3. 「Reminder.vbs」と名前を付けて保存

    1. 「すべてのファイル(*.*)」に指定しないとテキストファイルになるので注意

    2. 文字コードはANSIまたはShift-JISを選択

    3. 保存場所はどこでもOK

  4. クリックすれば使えます

保存時のイメージ

使い方補足

  • 「10:30」「13:58」などと、時刻を入れれば、当日のその時間にポップアップします。

  • 「2/14 18:00」「2023/2/28 11:36」などと日付と時刻を入れれば、その日のその時刻にポップアップします。

  • 過去の日時を入力したり、文字列などの入力エラーの場合は終了します。

  • 通知内容入力欄で、キャンセルを押すと、設定をせずに終了します。

  • 途中でシャットダウンしたら多分ダメだと思います。実験してないけど。

制作の背景

冒頭で紹介したTimer.vbsをずっと活用しており、大変助かっていたのですが、こちらはどちらかというと「時刻の指定がなく、忘れないようにしたいもの」でした。
残業時に「そろそろ帰る」とか、ふと思い出した依頼事「あとでポストに投函してもらう」とかを、30分後に通知させて、それでも着手できなければ10分スヌーズする、などが想定利用場面でした。
これはこれで、良かったです。

が、現在自分の中のニーズが変化しました。
15:00からWeb会議だけど「その前が資料作成なので集中していてメール通知もチャット通知も見ないようにしている」ようなときに、14:55に会議を通知させるようなツールが私には必要でした。

なので、時間の設定も「30分後」とかではなく、「14:55」と時刻指定がよかったのです。

ということで自作しました。
同じことでお困りの人の悩みが解決されますように!

そして、Webミーティングの参加が遅れてご心配かけた皆様、これまで誠に申し訳ございませんでした!今後は朝イチでその日のミーティング時間前にセットしますね。


ちょっと役立ったなと思ったら、サポートいただけると嬉しいです。マウスを買い替える資金になります!