2020年5月30日土曜日

メールの曜日/日付チェック (Check and Send 2.0.5)

Check and Send 2.0.5 をリリースしました。

ダウンロード:

※Mail Extensions版のため、Thunderbird 76 Beta1以降での動作になります。
 Thunderbird 68.xに無理やりインストールしても、一部機能が動きません。

新規に、曜日/日付のチェックを追加していて、
  • 曜日のチェック: 6/6 (金)と書いたが、その日は土曜日 
  • 指定した曜日のチェック: 6/7に打ち合わせと書いたが、その日は日曜日
  • 不正な日付のチェック: 2/29と書いたが、この年はうるう年ではない
のような、チェックができるようになります。

なお、このチェックは、年はみておらず、今日より後の日付は今年、
前の日付は来年として扱います。

この機能は、ほんとに多くの方から要望をもらっていたのですが、
全部、日本のユーザでした。
こんなの気にするのは、日本人だけなんですかね?




この機能を使う前に、設定が必要です。
設定には正規表現を使うため、プログラミングに親しみのない方には
ちょっと難しいかもしれませんが、チャレンジしてみてください。

以下、設定を説明します。
Check and Sendのオプションを下にスクロールすると、
「曜日/日付」というのが出てくるので、ここで設定します。


機能の選択


有効にする機能を選択してください。
  • 曜日と日付の整合を確認する
    日付と曜日があっていないとポップアップを出します
  • メッセージに以下の曜日が含まれていたら確認する
    チェックした曜日があるとポップアップを出します。
    曜日が間違っている場合は、正しい曜日のほうで判断します。
  • 不正な日時をチェックする
    4/31など存在しない日付があるとポップアップを出します。
ここまでは、簡単だと思いますが、以下からがちょっとめんどくさいです。

正規表現の設定
まず、メールの中から日付を検索する条件を設定します。
検索対象は件名とメール本文で、引用部と署名は除外されます。
また、大文字・小文字は区別しません。

検索するパターンを正規表現で設定します。
テキストフィールドに正規表現を書いてください。
このとき、月、日、曜日を後方参照で抽出できるようにしてください。
※(month=$1 ...)の部分は勝手につけられるので、気にしないでください。

抽出したものが、月、日、曜日のどれに該当するのかは、
テキストフィールドの横のリストで設定してください。

正規表現と後方参照が設定できたら、「追加」ボタンで追加してください。
更新ボタンで、既存の設定を修正することもできます。

曜日の抽出は、「曜日と日付の整合を確認する」以外は、
なくてもよいです。
このときは、曜日のところを「-」に設定してください。

上の例は、それぞれ、
  • 5/30 (土)
  • 5/30
のような日付にマッチします。

デフォルトで一つ目の設定が入っています。

月、日、曜日の定義
次に、抽出した、月、日、曜日を、どのように解釈するかを設定します。
これは、Javascriptの二次元配列で設定します。
デフォルトで、すでに設定が入っているので、これを変更してください。
配列の構成(カギかっこ)は変えずに、その中身だけを変えてください。


上記は、月の設定です。2行目が1月、3行目が2月…を表しています。
追加する場合は、「,」区切りで、「""」で囲んで入力してください。
例えば、全角や漢数字も解釈できるようにするには、
以下のように変更してください。(赤字が追加箇所)

[
  ["1","01","Jan","1","一"],
  ["2","02","Feb","2","二"],
  ["3","03","Mar","3","三"],
  (以下同様)


日、曜日もデフォルトで設定がされているので、
必要に応じて、同様に変更してください。


設定がおかしい場合には、以下のようにエラーメッセージが表示されて、
変更前の設定に戻ります。


ここまでできれば、設定は終わりです。

ちょっと設定が面倒な機能ですが、よければ使ってみて、感想を聞かせてください。




5 件のコメント:

匿名 さんのコメント...

日付の検索で
9/30ではなく9月30日と記載した場合に検索させるようにするには
どのように設定すれば良いでしょうか

h.ogi さんのコメント...

以下のように入力してください。

■曜日チェックをする場合
(\d+)月(\d+)日\s*\((\S+)\)
月:$1 日:$2 曜日:$3

■曜日チェックをしない場合
(\d+)月(\d+)日
月:$1 日:$2 曜日:-

匿名 さんのコメント...

h.ogiさま
ありがとうございました。
無事にできました。

匿名 さんのコメント...

こちらのアドオン,仕事上とても便利で大変助かっています。
本当に,ありがとうございます。

仕事柄全角数字を使うことが多く,
「9月30日」の形式でもチェックできたらと思って
以下コードで記入設定したのですが,チェック機能が動作しませんでした。
どうしたら良いでしょうか?


月の定義:
[
["1","01","1","Jan"],
["2","02","2","Feb"],
["3","03","3","Mar"],
["4","04","4","Apr"],
["5","05","5","May"],
["6","06","6","Jun"],
["7","07","7","Jul"],
["8","08","8","Aug"],
["9","09","9","Sep"],
["10","10","Oct"],
["11","11","Nov"],
["12","12","Dec"]
]

日の定義:
[
["1","01","1"],
["2","02","2"],
["3","03","3"],
["4","04","4"],
["5","05","5"],
["6","06","6"],
["7","07","7"],
["8","08","8"],
["9","09","9"],
["10","10"],
["11","11"],
["12","12"],
["13","13"],
["14","14"],
["15","15"],
["16","16"],
["17","17"],
["18","18"],
["19","19"],
["20","20"],
["21","21"],
["22","22"],
["23","23"],
["24","24"],
["25","25"],
["26","26"],
["27","27"],
["28","28"],
["29","29"],
["30","30"],
["31","31"]
]

匿名 さんのコメント...

便利な機能をありがとうございます。
使用したいのですが、なかなか適用となりません。

7月25日(火)といった表現をチェックしたい場合、
正規表現と後方参照:のテクストボックスに

(\d+)月(\d+)日\s*\((\S+)\)
月:$1 日:$2 曜日:$3

こちらを二段に分けて入力すればよいのでしょうか?

また、月・日・曜日の定義はデフォルトのままでよいでしょうか?

人気の投稿(過去7日間)