【OnlyOffice】AutoHotKeyを使って、セルの最下部移動を実装
この記事では、キーに別の機能を割り当てるソフト「AutoHotkey(オートホットキー)」を使って、「OnlyOffice(オンリーオフィス)」のスプレッドシートに、セルの最下部の最初に移動するショートカットキーを実装する方法について書きます。
キーに別の機能を割り当てるソフト「AutoHotkey(オートホットキー)」を利用することで、「OnlyOffice(オンリーオフィス)」のスプレッドシートに、セルの最下部移動のショートカットキーを実装できます。好きなキーを設定できます。文字が書かれている一番下のセルで、かつ一番左側(A列側)にフォーカス移動できます。
2023年8月現在の「OnlyOffice」のスプレッドシートでは、Endキーで、その行の最後列に移動します。Ctrl+Endキーで、一番下の行の一番右にある列に移動します。動画を貼っておきます。
しかし、僕の場合、一番下の行の一番左側に移動してほしいです。恐らく、標準の設定では変更できないので、「AutoHotKey」を使ってみます。いつでも元に戻せます。
「AutoHotkey」のダウンロード・インストール方法について、詳しく知りたい方は、下記記事を参考にしてみてください。
AutoHotKeyを使って、OnlyOfficeのセル最下部移動を実装する方法
デスクトップ、またはフォルダー内の空いているところを右クリック→新規作成→「Autohotkey Script」をクリックします。既に作成している方は、そちらに追記という形で書き込んでもOKです。
専用の拡張子「.ahk
」ファイルが作成されるので、好きな名前を決めます。日本語でも英語でもOKです。
右クリック→「プログラムから開く」から、好きなエディターソフトを選択します。特にこだわりがない方は、Windows標準搭載のメモ帳でOKです。僕は「Visual Studio Code」を利用しています。
新規作成したAutoHotKeyファイル内には、既に数行の英文が書かれています。消しても消さなくても正常に動作します。改行して、その下にコードを書いていきます。
書き込むコードは、以下になっています。
;スプレットシート(OnlyOffice)
#IfWinActive ahk_exe editors.exe
;Endキーを押した時、一番最後のセルはじめにマウスフォーカス
End::
Send,^{End}
Sleep, 50
Send,{Home}
Return
#IfWinActive
「#IfWinActive
」で、「OnlyOffice
」の実行ファイルである「ahk_exe editors.exe
」を指定しています。これにより、OnlyOffice上だけで動作します。それ以外のアプリでは発動しません。
発動するショートカットキーは「End」キーにしています。皆さんの好きなキーに書き換えてみてください。僕は、元々用意されているその行の最後列に移動するEndのショートカットキーは使っていなかったので、AutoHotKeyで上書きして問題なかったです。
仕組みとしては、Endキーを押した時、Ctrl+End(^{End}
)を押して、文字が書かれている一番下のセルに移動します。その後、「Sleep
」コマンドで50ミリ秒待機して、その行の一番左列(A列)に移動する「{Home}
」キーを押すようにしています。
- Endキーを押して発動
- Ctrl+Endを押して、一番最後のセルに移動
- Homeキーを押して、その行の先頭列に移動
書き込めたら、ファイル→「上書き保存」をクリックします。(Windowsメモ帳の場合)
保存できたら、メモ帳は閉じてOKです。作成したファイルをダブルクリック、または右クリック→「Run Script」をクリックして実行します。
タスクトレイにAutoHotKeyアイコンが表示されている間、有効になっています。終了したい時は、タスクトレイアイコンを右クリック→「Exit」をクリックします。
AutoHotKeyが起動している間は、Endキーで一番最後の行、かつ一番左の列に移動します。僕は、スプレッドシートでの動作を想定して作っていますが、もしかしたらドキュメント(Word)でも動作するかもしれません。あんまり検証していません。
ショートカットアイコンを作成してスタートアップに登録することも可能です。(詳しくはこちら)
感想
以上、キーに別の機能を割り当てるソフト「AutoHotkey(オートホットキー)」を使って、「OnlyOffice(オンリーオフィス)」のスプレッドシートに、セルの最下部の最初に移動するショートカットキーを実装する方法でした。
そもそもな話、確かMicrosoftのExcelでは、最後にフォーカスしていたセルと同じ場所から再開できた気がします。一方、「OnlyOffice」では、最後にフォーカスしていたセルを記憶してくれず、次回起動する時、毎回一番最初の行列(1行目のA列)にフォーカスされます。前回フォーカスしていた場所から再開する的なオプションがあればいいなと思います。もしかしたら、既にあるかも…?もし知っていたら、どなたか教えていただければなと思います。
「AutoHotKey」は、発想次第で自由なショートカットキー割り当てが可能で、大変便利です。