【広告】

Amazonブラックフライデーが12月2日まで開催中です!

個人的には、Anker製品か、コカ・コーラがかなり安くなっているのでおすすめです!

高級キーボードで有名な東プレが最近発売した「REALFORCE R3」もセールをやっていました!詳しくはこちらの記事を確認してみてくださーい。

【AutoHotkey】ExcelとOnenoteの日付挿入ショートカットキーを統一する方法

2021年10月24日AutoHotkey,OneNote

AutoHotkey のアイコン

この記事では、Excel とOnenote の日付、時間、日付挿入ショートカットキーを統一する方法について書きます。

【AutoHotkey】ExcelとOnenoteの日付挿入ショートカットキーを統一する方法

AutoHotkey と呼ばれるキーに別の機能を割り当てれるソフトを使うことで、Excel とOnenote の日付挿入ショートカットキーを統一できます。

そもそも日付挿入のショートカットキーは、Excel がCtrl、Onenote がAltShiftDと異なっています。

これはとても不便です。AutoHotkey(以下AHK)を使うことで、どちらも日付挿入を「Ctrl1」に統一する…みたいなことができます。

僕は、どっちがどっちのショートカットキーだったかよく忘れるので統一できるのはとても便利です。

Excel の日付挿入ショートカットキーは初期で以下になっています。

ショートカットキー挿入される物
Ctrl+;日付
(2021/10/23)
Ctrl+:時間
(16:15)
Ctrl+; → Ctrl+:日付と時間
(2021/10/23 16:15)

Onenote の日付挿入ショートカットキーは以下になっています。

ショートカットキー挿入される物
Alt+Shift+D日付
(2021/10/23)
Alt+Shift+T時間
(16:15)
Alt+Shift+F日付と時間
(2021/10/23 16:15)

この2つのソフトの日付挿入キーを以下に統一したいと思います。

統一後の挿入キー
キー挿入されるもの
Ctrl+1日付
Ctrl+2時間
Ctrl+3日付と時間

変更後のキーは自分の好きなように設定できます。

前提

この記事は、AutoHotkey を既にインストールしていることが前提になります。

AutoHotkey は、以下サイトからダウンロードできます。

より詳しくは、以下の記事を参考にしてみてください。

参考:【AutoHotkey】キーに別の機能(キー)を割り当てるソフトの使い方 | ナポリタン寿司のPC日記

僕のサイトが見にくい場合は、以下のサイトが参考になります。コメント欄にて僕も何度かコメントさせていただきました。とても見やすくて分かりやすいです。

参考:【AutoHotkey】インストールと基本的なコードの書き方 | オカメJP| あるドイツ在住日本語教師のブログ

コード

以下のコードをスクリプトに書き込んでリロードします。

;-----Onenote-----
#IfWinActive,ahk_exe ONENOTE.EXE



^1::	;Ctrl+1で日付挿入
Send, +!d
return


^2::	;Ctrl+2で時間挿入
Send, +!t
return


^3::	;Ctrl+3で日付と時間挿入
Send,+!f
return



#IfWinActive


;-----Excel-----
#IfWinActive,ahk_exe EXCEL.EXE



^1::	;Ctrl+1で日付挿入(Ctrl+)
Send,^;
return


^2::	;Ctrl+2で時間挿入(Ctrl+:)
Send,^:
return


^3::	;Ctrl+3で日付と時間挿入
Send, ^;{sc039}
Sleep, 100
Send, ^:
return



#IfWinActive

「;–〇〇〇—」の部分は、コマンドとは関係ない説明文です。自分で分かりやすい名前に変更してOKです。

1.アプリ指定

それぞれのアプリ(Excel、Onenote)を起動している時だけコード実行する「#IfWinActive ahk_exe 〇〇〇.exe」コマンドを使っています。これにより他のアプリでは発動しないようにしています。

2.日付挿入の仕組み

全部解説してもあれなので、「【Onenote】Ctrl1に日付挿入(ShiftAltD)割り当て」の1つに絞って解説します。他も同じ仕組みです。

コードは「^1::Send, +!d」となっています。これを分かりやすく変換すると以下の表になります。

コード解説
^1Ctrl1を押したときに発動
::(AHK上の変換コード)
以下のキーに割り当てる
Send,以下のキーを割り当て
+!dShiftAltDを押したことにする

つまり、Ctrl1を押したらShiftAltD(Onenote の日付挿入キー)を押したことにするという意味です。

3.Excel の日付、時間挿入について

実はExcel には日付と時間を同時入力するショートカットキーが存在しません。そこで日付挿入(Ctrl+;)と時間挿入(Ctrl+:)を合体するようにしてます。

具体的には、一定時間操作を待機するコマンド「Sleep,」を使っています。これにより日付と時間を入力することが可能になっています。

コード解説
^f::CtrlF を押したときに発動
Send, ^;{sc039}Ctrl+;スペースキーを押したことにする
Sleep, 1000.1秒待機する
Send, ^:続いて、Ctrl+:を押したことにする
returnAHK で必要なコード

以下のようにそのまんまコピペでOKです。

ExcelとOnenoteのタイムスタンプ統一コード

例えば、以下のように割り当てた場合を紹介します。人によっては「Ctrl+数字」よりも「d=Date」、「t=Time」のように頭文字の方が好きかもしれませんね。

キー挿入されるもの
Ctrl+d日付
Ctrl+t時間
Ctrl+f日付と時間

黄緑ハイライト表示されている部分を自分の好きなキーに書き換えることができます。以下のままコピペすると上記の表通りになります。

;-----Onenote-----
#IfWinActive,ahk_exe ONENOTE.EXE



^d::	;Ctrl+Dで日付挿入
Send, +!d
return


^t::	;Ctrl+Tで時間挿入
Send, +!t
return


^f::	;Ctrl+Fで日付と時間挿入
Send,+!f
return



#IfWinActive


;-----Excel-----
#IfWinActive,ahk_exe EXCEL.EXE



^d::	;Ctrl+Dで日付挿入(Ctrl+)
Send,^;
return


^t::	;Ctrl+Tで時間挿入(Ctrl+:)
Send,^:
return


^f::	;Ctrl+Fで日付と時間挿入
Send, ^;{sc039}
Sleep, 100
Send, ^:
return

CtrlWindowsなどは修飾キーといって、書き方が特殊なので以下のサイトを参考にしてみてください。例えば、Ctrlだと「^」って感じです。

参考:【AutoHotkey】修飾キーの使い方と使用例 | オカメJP| あるドイツ在住日本語教師のブログ

コードを貼れたら、ファイル → 上書き保存 をクリックして「×」で閉じます。

ファイルをダブルクリック、または右クリック → Run Script をクリックして実行します。

右クリック → Run Script

タスクトレイにAHKアイコンが表示されていればコマンド実行に成功です。このファイルが起動している限りは、日付挿入キーが統一されるはずです。

タスクトレイのアイコン

もしコマンド実行できずに何かしらのエラーが表示された場合はコマンドの記述が間違っています。もう一度確認してみましょう。

今後も使いたい場合はWindows10 のスタートアップに登録しておくと便利です。Windows起動時に自動で起動してくれます。

以下のフォルダにahkファイルをそのままつっこめばOKです。ショートカットを作成してそれを入れておくというのもありです。

C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp

このコードの注意点

このコードは、あくまでExcel とOneNote で用意されているタイムスタンプのショートカットキーを別のキーに置き換えているにすぎません。

つまり、置き換えたキーは使えなくなります。

例えば、「Ctrl+数字」だと元々用意されているショートカットキーは以下になります。

使えなくなるキーExcelOneNote
Ctrl+1セルの書式設定タグの適用、マーク、またはクリアTo Do
Ctrl+2テキストの太字タグの適用、またはクリア
Ctrl+3テキストの斜体質問タブの適用、またはクリア

僕は上記のショートカットキーを元々使ってなかったのでよかったのですが、人によっては使えなくなると困るかもしれません。その場合は、上記以外のキーを割り当てるようにしましょう。

【応用】異なる書式を入力したい場合

「〇/〇〇/〇〇」のような標準の日付ではなく、「〇年〇月〇日」みたいなカスタマイズした書式を入力したい場合は、クリップボード履歴「Clibor」が役に立ちます。

詳しくは以下の記事を参考にしてみてください。初心者には少しだけハードルが高いです。

Excel とOneNote をそれぞれ同じホットキーだけど、別の日付書式を入力したいというわがままな方のためにAHK のコードを含む方法を貼っておきます。

僕なんかがまさにそうですね。OneNote では「2021年10月25日(月)」って形で入力したくて、Excel では、「2021/10/25(月)」って形で入力したいです。

流れとしては上記記事でそれぞれExcel 用、OneNote 用の日付書式を用意してAHK で使い分けるって感じです。上記の記事を見ていることを前提にした方法です。

まず、Clibor にExcel 用とOneNote 用の日付定型文を登録しておく&別々のホットキーを設定しておきます。

僕は、OneNote を「CtrlShiftO」にして、Excel を「CtrlShiftE」にしました。

定型文の編集

続いて、以下のコードをAHK ファイルに記述します。

;-----【Onenote】Ctrl+DにOneNote用書式の日付挿入-----
#IfWinActive,ahk_exe ONENOTE.EXE
^d::
Send, ^+o
return
#IfWinActive

;-----【Excel】Ctrl+DにExcel用書式の日付挿入-----
#IfWinActive,ahk_exe EXCEL.EXE
^d::
Send, ^+e
return
#IfWinActive

意味は、Excel を起動している時だけ、CtrlDに「CtrlShiftE」を割り当てて、OneNote を起動している時だけ、CtrlDに「CtrlShiftO」を割り当てるいうことです。

よって緑ハイライト部分の変更で入力キー、黄色ハイライト部分の変更で定型文のホットキーを変更できます。

自分の環境に合ったキーを指定してあげましょう。

もし、よくわかんないやって方はコメント欄に、登録している日付の定型文とこのキーで入力できるようにしたい旨を伝えてくだされば教えます。(僕に分かる範囲ですが…。)

まとめ

以上、 Excel とOnenote の日付、時間、日付と時間挿入ショートカットキーを統一する方法についてでした。

統一すると忘れなくてすむので最高です。しかも、左手だけで入力できるってのも便利です。

Posted by ナポリタン寿司