【O365 Excel】F1ヘルプ無効化の最適解

※元ネタ(Office2013版)はコチラ

最近会社のOfficeがO365に一新されたので、忌々しきF1キーの呪いが復活しました。

ということで再びF1無効化を行っていきたいと思います。

F1キーを無効化する方法

F1キーを無効化する方法は大きく分けて4つあります。

  1. F1キーを物理的に排除する
  2. キーボードの無効化ソフトを入れる
  3. レジストリを書き換え
  4. マクロを使用する

①は正直ネタ枠ですし、②・③は会社のセキュリティポリシー等を考慮すると、④よりも面倒になる可能性が高いです。

①~④のいずれも実現できること同じなので、私は一番簡単でハードルの低い④「マクロを使用する方法」をお勧めします

ということでここからは、マクロでF1キーを無効化する方法をご紹介していきます。
(その中でも個人的に最適解だと思っている設定方法をご紹介します)

F1キー無効化マクロの設定方法

①Excelの設定

マクロの設定に開発タブを使用するため、まずはExcelで開発タブの設定を変更します。
※設定済みの場合はこの節はスキップしてください。

まずExcelの設定を変更するため、オプションを開いてください。

Excelのオプションを開く


次にオプションの「リボンのユーザー設定」項目を開き、「メインタブ」「開発」にチェックを入れてOKをクリックします。

Excelのオプションのリボンのユーザ設定を開き、右のメインタブで開発に✓を入れてOKをクリック。


これで、Excelのリボンに開発タブが表示されるようになっているはずです。

②マクロの設定

次は、F1キー無効化マクロを設定していきます。

まずはベースとなるマクロを作成するので、開発タブの「マクロの記録」をクリックしてください。

開発タブのマクロの記録をクリック


「マクロの記録」をクリックすると、以下のポップアップが表示されます。

この時、「マクロ名」は何でもいいですが、「マクロの保存先」は必ず個人用マクロ ブックを選択するようにしてください。

マクロの記録のポップアップが表示されるので、マクロ名・マクロの保存先を設定してOK。


OKをクリックするとマクロの記録が開始されますが、これはベースにするだけなので何もせずに記録終了してください。
(何かしても後で消すので特に問題ないです)

開発タブのコードにある記録終了をクリック


これで、マクロのベースが作成されたのでVBAエディタを開いて確認します。

Excelの開発タブからVBAエディタ(Visual Basic)を開く。


上で設定したマクロ名のマクロが以下のファイルに作成されているはずです。
VBAProject (PERSONAL.XLSB)
 →標準モジュール
  →Module1

VBAProject(PERSONAL.XLSB)の標準モジュールフォルダのModule1に今回追加したマクロが作成されているはず。
すでにModule1があった場合はModule2とか3にいるかも


あとは、無効化マクロを書き込むだけです。

上で作成されたマクロを削除して、以下の無効化マクロを書き込んでください。

Option Explicit

Sub auto_open()
    Application.OnKey "{F1}", "use_f2"
End Sub

Sub use_f2()
    SendKeys ("{F2}")
End Sub

※名前の違い等で動作が変わるので丸っとコピペすることをお勧めします。

完成形としては、以下のようになるはずです。


これでF1ヘルプが無効化されます。
(場合によってはExcelの再起動が必要かもしれません)

終わりに(どの辺が最適解なのかの話)

コードを見てお分かりの方も多いかと思いますが、このマクロはF1キーを押したときにF2キー相当の動作をしてくれるマクロなのです。

F1キーを無効化しているだけだと、F1キーを誤タイプした際に、「あれ反応せんな?あ、F1キー押しとったわww」という無駄な思考が発生してしまいますが、このマクロを組むことでそれすらも防ぐことができるのです。

ということで今回はF1無効化の最適解O365編でした。

これでF1ヘルプ被害者が少しでも減れば幸いです。

以上

コメント

  1. この様な情報、とても助かります。
    おかげで、呪いが解けました♪

    リソースが不足気味の時に誤ってF1を押すと、Excelの挙動が一気におかしくなることもありますので、これで一安心ですねw
    「絶対に使わない」重いヘルプがF1に割り当てられている理由が不明です・・・。

タイトルとURLをコピーしました