以前下記リンクの記事を書いたのですが、なかなかのご反響をいただき、当サイトの中でもアクセス数が多い記事になっています。
前回の記事では、AutoHotKeyのインストール方法からスクリプトの書き方まで、AutoHotKeyを導入するにあたって必要な知識を一通り詰め込んだので長文になってしまいましたが、今回は私の個人的なスクリプトの中から、ある程度汎用的なものをを紹介していきたいと思います。
AutoHotKeyを使ったことがない方は、まずは上記リンクの記事に目を通していただくことをおすすめいたします。
今回も簡単にコピペできるようにしておきますので、気に入ったものがあればご自分のスクリプトにコピーしてお使いください。
仕事のストレスを減らすAutoHotKeyスクリプト
カーソルを右に移動する
カーソルを右に移動する場合カーソルキーの右矢印キーを押せば良いのですが、キーボードに置いた手をホームポジションから移動しなければならず、手間がかかります。
そこで、私は以下のスクリプトでShift+Spaceでカーソルを一つ右に移動するようにしています。
^space::
send, ^{right}
return
たったこれだけの話なのですが、これで何が良いかというと、最近のエディタでは良く開始括弧記号を入力すると閉じ括弧も自動的に入力されてカーソルは括弧の中に入ることが良くあります。そのようなとき、括弧内の文字列を入力するところまでは良いのですが、次は当然括弧の外に出る必要があります。その際にカーソルキーを使ってカーソルを右に動かすとなると、非常にコーディング時にストレスがたまります。
下記はVS Code上でこれを使っている様子です。
同じように、新下駄配列などではF+Gの同時押しで「」が入力されて括弧の中にカーソルが入ります。これも、括弧内の文字を入力するまでは良いのですが、その後括弧の外に出るのがストレスになります。
下記は新下駄配列でカギ括弧を入力している様子です。
実はこのスクリプトは単純にカーソルを右に移動するだけではなく、Ctrl+→を実行するようにしています。これにより、上記のように括弧から出るだけでなく、通常のテキスト部分でCtrl+Spaceを押した場合、単語単位で右にカーソル移動できるようになっています。
これはエディタの機能に依存してしまいますが、大抵のエディタでは使えると思います。Vimのwに相当するような動きですね。
たった3行のスクリプトで、ストレスがかなり軽減されます。
選択した数値をカンマ区切りにする
仕事をしていると、数字を書くことが多いと思います。例えば私はメールに金額を書いて他の人に送ったり、個人メモアプリ上で見積金額の試算をしたりということを良くします。
このようにテキストで数字を書いた場合、桁が分かりづらくなるので3桁ごとにカンマを打ちたくなります。特に他人に送る数値であれば必須だと思います。
Excelであれば自動的にカンマ区切りにしてくれますが、テキストエディタ、メールアプリ、Word、PowerPointなどで数字を書くこともあります。このようなときに下記スクリプトを使うと、数字を選択して呼び出す(下記の例ではCtrl+,に割り当てています)だけで数値にカンマを付けられます。
^,::
bk=%ClipboardAll%
Clipboard=
Send,^x
ClipWait, 2
Clipboard = %Clipboard%
If (Clipboard)
{
If (StrLen(Clipboard) >= 4)
{
numText := Clipboard
While RegExMatch(numText, "([^,]+)(\d{3})") > 0
{
numText := RegExReplace(numText, "([^,]+)(\d{3})", "$1,$2")
}
Clipboard=%numText%
Send, ^v
sleep,200
}
}
Clipboard=%bk%
return
実際に動作する様子を見ていただく方が早いと思いますので、下記に選択した数値を一瞬でカンマ区切りにする様子を載せます。
最後の「円」という部分も選択してしまっていますが、それでもちゃんと動作します。この例は国家予算なみの金額ですが・・・
カーソルキーで桁を移動しながらカンマを入力していくのは結構面倒なので、個人的によく使っています。
Excelでいい感じにSum関数を入れる
Excelとの併用技もご紹介したいと思います。
Excelを使っていて、合計を出したいというシチュエーションは非常に多いと思います。このようなとき、通常はExcelの「Σ」アイコンを押してSUM関数を入力すると思いますが、これはキーボード操作で入力することもできます。それがAlt→H→U→Sを順番に押していくものなのですが、これを覚えるのは難しいと思いますし、Altから順番に押していくとリボン上に次に入力する文字が表示されはしますが、これを見ながら入力していたのでは遅いですし、それであれば最初からマウスでアイコンをクリックした方が早いと思います。
そこで、私はExcel操作の中で最もよく利用するこの関数をCtrl+Shift+Sで挿入できるようにしています。それが下記のスクリプトです。
#IfWinActive ahk_exe EXCEL.EXE
^+s::
send, {Alt}hus
return
#IfWinActive
#IfWinActive~の部分でExcelだけで発動するようにしています。
上記例ではSum関数の挿入ですが、リボン上にアイコンがあるものであれば全て同じやり方でスクリプト化できますので、ご自身で良く使うものを登録しておくと良いと思います。
鬱陶しいダイアログを自動的に非表示にする
あまり堂々と紹介できるものではないのですが、少しグレーな使い方もご紹介します。
会社で貸与されているPCは、セキュリティなどの対策でCドライブの表示やアクセスができないようになっています。無理矢理アクセス使用とすると下記のようなアラートダイアログが表示されてしまいます。
意図的にCドライブにアクセス使用とした場合にこれが出るのは良いのですが、WordやExcelなどでファイルを保存しようとした際、保存ダイアログでデフォルトの保存先として最初にCドライブ内のフォルダにアクセスされるのですが、その時も毎回上記のダイアログが表示され、その度に「OK」ボタンを押さなければならなず、大変なストレスになります。
そこで以下のスクリプトだけを書いた~.ahkファイルを用意しておき、これをWindowsのスタートアップで起動しておくことで、上記ダイアログが表示されても瞬時に自動的にOKボタンが押され、このダイアログを目にする必要がなくなります。
#Persistent
Start:
WinWaitActive, 制限
{
send, {space}
Goto, Start
}
※このスクリプトは、1つのファイルに上記の内容だけを書いたものにしてください。
これは、どうしてもレジストしたくないにもかかわらず、レジストをしつこく求めるダイアログが表示されるシェアウェアなどに使うこともできたりできなかったり・・・
こういう使い方をされる場合は、上記を参考にご自身の責任で実施してください。
AutoHotKeyがインストールされていない環境への配布
AutoHotKeyスクリプトのコンパイル
これまで紹介したスクリプトは、AutoHotKeyがインストールされている環境でしか使うことができませんでした。しかし、生産性が向上するスクリプトを作成したらAutoHotKeyをインストールしていない人に配布したくなるものです。
そのような場合は、AutoHotKeyに付属のツールを使って、拡張子は「exe」のWindows実行形式のファイルを作成することができます。これを「コンパイル」と呼びます。
以下はコンパイルの手順です。最初にコンパイルしたいスクリプトファイル(~.ahk)を用意しておきましょう。
- AutoHotKeyのインストールフォルダを開きます。通常は以下のフォルダになっていると思います。
C:\Program Files\AutoHotkey - このフォルダにある「Compiler」というフォルダを開きます。
このとき、このフォルダ内に「mpress.exe」というファイルがなければ以下のサイトからファイルを取得し配置しておきましょう。
MPRESS – Free high-performance executable packer for PE32/PE32+/.NET/MAC-OS-X (autohotkey.com) - 上記のフォルダの状態になったら、「Ahk2Exe.exe」を実行します。
- 表示された画面の下記赤枠箇所を設定します。
Source欄には、最初に用意したahkファイルのパスを入力します。
Destination欄には、これから生成するexeファイルが出来たと仮定した場合のそのexeのパスを入力します。(当然まだこのexeファイルは存在しません) - 最後に「Convert」ボタンをクリックします。
これでexeファイルが生成されるので、あとはこのexeファイルを他の人に配布すれば、AutoHotKeyがない環境でもスクリプトを実行できます。
ちなみに、生成されるexeファイルのアイコンを変えたい場合は、変更したいアイコンファイル(~.ico)を用意した上で、上記画面のCustom Icon欄にそのicoファイルパスを設定してください。
それでは、今後も素晴らしいAHKライフをお過ごしください!
コメント