Clibor、使ってますか? 私は毎日使っています
例えば、「2018/07/02(月)」のように明日の日付を書きたいと思ったら、どうやって入力していますか?
キーボードで13個以上のキーを押して、曜日の部分に差し掛かったら、英数モードを日本語入力モードに切り替えて、タイプしますか?
私はうん十年間、そのようにしてきたのですが、さすがに嫌になってきました。
それでも最近は知恵をつけてきて、Windows10のIMEなら、「明日(あした)」と入力して変換します。
すると下のほうに「2018年7月3日」「7月3日(火)」などが変換候補に挙がってくるので、その中から選びます。
このやり方なら、打つキーの数が1/4位になります。
ならばそれ使えばいいじゃん、ということではあるのですが、なぜかその候補に、私の欲しい「2018/07/02(月)」のフォーマットが無いのですよ。
ということで、CliborとPythonで、何とかします。
# -*- coding: utf-8 -*- #<$C_CLB_PYTHON/> import win32api,win32com.client,win32clipboard as CB,datetime import datetime as dt # win32api.Sleep(100) shell = win32com.client.Dispatch("WScript.Shell") # now = dt.datetime.now() r = now + dt.timedelta(days=1) tnstr = r.strftime('%Y/%m/%d') yobi = ["月","火","水","木","金","土","日"] text = tnstr + '(' + yobi[r.weekday()] + ')' # win32api.Sleep(100) CB.OpenClipboard() CB.EmptyClipboard() CB.SetClipboardText( text, CB.CF_UNICODETEXT ) shell.SendKeys("^v") CB.CloseClipboard() #
上記のコードをCliborの定型文に入れて、Ctrlキー2回+右カーソルキー1回+数字キー1回の、計4つのキーのみで、明日の日付を入れられるようになりました。
ちなみに「r = now + dt.timedelta(days=1)」の最後を「-1」にすると、昨日の日付を出せます。
これでまた少し、自分好みの使いやすさに!
Pythonの日付処理は、以下の記事を参考にしました。
datetimeで曜日を調べる