エクセルと同じショートカットキーでエクセル以外の場所でも日付を入力できるAutoHotkeyスクリプト
シンプルなスクリプトですがよく使っています。
エクセルではCtrl + ;で現在の日付を入力できます。エクセル以外でもショートカットキーが準備されているアプリもありますが、例えばワードやパワーポイントでは標準設定でAlt + Shift + Dといったように、アプリによってキーが異なります。アプリごとにキーが違うと覚えるのが大変なのでAutoHotkeyで統一しました。
;Ctrl+;で日付入力(yyyy/mm/dd形式)
^vkBBsc027::
Clipboard=%A_Year%/%A_Mon%/%A_MDay%
Send, ^v
Return
これでどのアプリでもCtrl + ;で現在の日付を入力できるようになります。私はエクセルのキーを一番よく使っていたのでここではエクセルに合わせましたが、普段ワードやパワーポイントを使うことが多い方は、Alt + Shift + Dで統一したほうが使いやすかもしれません。その場合は、「^vkBBsc027::」の部分を「!+d::」にしてください。
その際、ワードやパワーポイントのショートカットキー設定よりもAutoHotkeyが優先されるので注意してください。どういうことかと言うと、パワーポイントの標準機能で実行した場合は、Alt + Shift + Dを押した場合に以下のダイアログが表示されて日付の書式が選択できるようになっています。
一方、上記のAutoHotkeyスクリプトでは日付の文字列を貼り付けているだけなので、このようなダイアログは表示されず、いきなり日付の文字列が挿入されます。毎回書式を選択したい場合は、「パワーポイントの場合だけこのスクリプトを無効にする」というロジックを入れる必要があるので、以下のようにIF文で囲みます。
#IF !WinActive("ahk_class PPTFrameClass")
^vkBBsc027::
!+d::
Clipboard=%A_Year%/%A_Mon%/%A_MDay%
Send, ^v
Return
#IF
「PPTFrameClass」の部分がパワーポイントを指しています。パワーポイントのバージョンによってahk_class名が異なる可能性もありますので、お使いの環境を一応ご確認ください。AutoHotkeyのWindow Spyでahk_class名を調べることができます。パワーポイント以外でも特定のアプリではスクリプトを無効にしたいという場合も、IF文に「#IF !WinActive("ahk_class PPTFrameClass") AND !WinActive("ahk_class Hidemaru32Class")」のように追加することで対応できます。
このスクリプトの内容はクリップボードに値を入れて貼り付けるという動きなので、貼り付けができる場所ならどこでも使用できます。意外と便利だったのがフォルダ名を入力する場合です。
フォルダ名には「/」を使用できないため、親切なことに「/」を省いた形式で貼り付いてくれます。
また、書式をyyyy/mm/dd以外にしたい場合はこちらを参考に変数や順番を必要に応じて変更してください。
なお、エクセルで現在時刻を入力するショーカットキーはCtrl + :ですが、ついでにこちらのスクリプトも貼っておきます。
;Ctrl+:で時刻入力(hh:mm形式)
^vkBAsc028::
Clipboard=%A_Hour%:%A_Min%
Send, ^v
Return