はじめに
この記事では、AutoHotkey v2 で hotstring を利用して、今日の日付を年月日の 8 桁の数字で素早く入力するプログラムを学習します。
エクスプローラーを使ってファイル名変更で日付を追加入力したり、メモに日付を挿入するときに使います。
AutoHotkey v1.1 利用者が詰まる要所
v2 では後方互換性は犠牲となっており、v1.1 のために書かれたスクリプトは基本的に動作せず、改修の必要があります。
必要な前提知識
AutoHotkey v2 は Windows で動作する、自動化に役立つツールです。
インストール
AutoHotkey
AutoHotkey をダウンロードします。このプログラムは v2.0 で書かれているので、ダウンロードページで「Download v2.0」の方をダウンロードし、動作させる Windows 機にインストールします。
AutoHotkey Plus Plus
VSCode をご利用の方は、「AutoHotkey Plus Plus」をインストールしましょう。コーディングが快適になります。
コマンド
AHK++を使用すると、キーボードショートカットを使用してスクリプトをコンパイル、デバッグ、および実行できます。選択範囲をスタンドアロン スクリプトとして実行することもできます。
- デバッグ:Ctrl + Alt + F9
- ヘルプを開く:Ctrl + F1
- 実行:Ctrl + F9
- 選択範囲の実行:Ctrl + F8
手順
実装する内容
「q[[」と順番に入力すると、例として「20231004」(2023 年 10 月 4 日)と入力されるようにします。
コード
::q[[::
{
TimeString := FormatTime(,"yyyyMMdd")
Send TimeString
}
::q[[::
{コード}
- Hotstring は、連続して入力する文字を、「::」で囲います。実行する内容が複数行にわたる場合、中括弧{} で囲います。これがないと、「Error: Hotkey or hotstring is missing its opening brace.」が表示されます。
TimeString := FormatTime(,"yyyyMMdd")
- 変数「TimeString」に、今日の日付を"yyyyMMdd"の形式で代入します
Send TimeString
- Send を使って 変数「TimeString」 のキー入力を実行します。
結論
- この Hotstring を使えば、今日の年月日を知らなくても、「q[[」と入力することで今日を指す年月日の 8 桁の数列を入力することができます。
- AutoHotkey をインストールした後に付属する「Ahk2Exe」を使えば、AutoHotkey のプログラムを.exe 化できます。それを利用すれば、AutoHotkey をインストールしていない Windows 機でも hotstring が使えるようになります。
- また、作成した.exe ファイルを「Windows 10 の起動時に自動的に実行するアプリ」として登録しておけば、起動時に自動的に立ち上がり、hotstring が利用可能になります。