WordをMacに(再)インストールしたら真っ先にやるべき設定
Word for 2011が起動しなくなったので、AppCleanerで一気に削除したら、Word for 2016も調子がおかしくなった。やむなく完全にアンインストールしたところ、設定しておいたEmacs風のキーアサインも吹っ飛んでしまった……。
再設定したので、主に自分向けにメモしておく。ネットを検索すると、先達たちのメモがいろいろ見つかるが、ほとんどがWord 2011時代のもので、コマンド(ここでいう「コマンド」とは、Word上の「機能」のこと)名が古く、役に立たない。
Word 2011時代、そして2016も少し前まではコマンドが、なんちゃって英語で比較的分かりやすかったのだが、最近になって中途半端に日本語化されて探しにくくなっている(全部が翻訳されたわけではなくて、一部は英語のまま残っている)。
【環境】Microsoft Word for Mac 2016 (バージョン15.30)/macOS Sierra
「ツール」→「ショートカットキーのユーザー設定」(ウィンドウを開くと、「ショートカットキーの割り当て」という名称だが)から「すべてのコマンド」を選択した状態で、設定を行う(下図)。
なんかわかりにく図になってしまったが、図の右上の「コマンド:」の入力欄に、設定したい機能をキーボードで一字一字入力、その状態で、①指定したいキーアサイン(Ctrl+Fなど)を入力(これは、実際のそのキーを押す)して②その左の「割り当て」を押すと設定される。
具体的には「コマンド:」に以下の→の左側を入力して、→の右側のキーの組み合わせを指定する。
- 「右に1文字移動」 → Ctrl+F
- 「左に1文字移動」 → Ctrl+B
- 「カーソルを1行下へ移動」 → Ctrl+N
- 「カーソルを1行上に移動」 → Ctrl+P ※1 Google日本語入力と併用の場合、注意事項あり
- 「行頭」 → Ctrl+A
- 「行末」 → Ctrl+E
- 「右の1文字を削除」 → (Ctrl+D)※2 このキーは設定しなくても使えるようになった
- 「左の1文字を削除」 → Ctrl+H ※3 このキー設定にはマクロが必要。後で説明する。
なぜこんな作業が必要かというと、Word for MacがMac標準のキーアサインを無視しているから。Word以外のワープロ、たとえばPagesやLibreOffice、そしてテキスト入力を受け付けるMac上のオブジェクトのほとんどすべてがMac標準のキーアサインに従っているので、上記のショートカットキーはmac OS上では共通に使えると思ってよい。しかし、MS製品だけは例外になってしまっている。
ExcelとかPowerPointなどは、しょせん長文執筆のためのアプリではないから我慢もできるが、何万字も書くためのアプリで、つまりキーボードを死ぬほど打たなければならないアプリで、これはきつい。だから私にとって、以上の作業は必須のもの。
まあ、Windowsのキーアサインと合わせるためにしょうがないのはわかるが、Macでは⌘キーがCtrlキーの代わりとなる、ということでユーザーに納得してもらって、「Ctrl」系のショートカットは削除してくれてもいいんではないだろうか……。
※1 Google日本語入力のユーザーで、「キー設定の選択」を「ATOK」にしていると、「Ctrl+P」による「全角かな変換」が使える。たとえば、「かな」を「kana」に変換できるが、Word for MacでCtrl+Pを「カーソルを1行上に移動」に設定していると衝突してしまう。やむを得ず、「Ctrl+Shift+P」を「カーソルを1行上に移動」に設定して回避している。MS社とGoogle社の両方に要望を送りずみ。他の日本語変換システムでは問題なく共存できているので、おそらくはGoogleの問題。
それと標準で「Ctrl+P」は「ファイル印刷」にアサインされているので、タイミングによってはこちらが優先になってしまう。「ファイル印刷」は「⌘+P」でもできるので、「Ctrl+P」は「ファイル印刷」からは外しておいた方がいい。下記のようにする。
※2 Windows版で使っていない組み合わせだからか、ここだけはmacOS標準のキーがそのまま使える。
※3 Ctrl+Hの設定は次のようにする。まず、マクロを登録する。
「ツール」→「マクロ」→「Visual Basic Editor」を選択して、マクロの登録画面を開く。
つぎに、Normal.dotm(標準のテンプレート)のThisDocumentに、マクロを登録する。
コードは下記。打ち込んだら単にウィンドウを閉じればいい。
Sub BkSpPrc() 'Ctrl + H Selection.TypeBackspaceEnd Sub
これで、「BkSpPrc」という名前でマクロが登録できた。次にこのマクロを「ショートカットキーの割り当て」から呼び出す。「分類」から「マクロ」を選ぶと、「BkSpPrc」が表示されるので、その状態で、新しいショートカットキーとして「control+H」を登録する。
ふう。めんどくさ。
この他、ATOKの「Ctrl+I」(全角カナ)がイタリックと衝突していたりする問題もあるが「Ctrl+P」と同じく単に設定を削除すれば解決する。
あ! Ctrl+K(末尾まで削除)を忘れてた。。。
参考:下記のサイトを参考にさせていただきました。というか、コードはそのまま拝借しました。ありがとうございますm(_ _)m
【2017/4/24追記】
コメントいただいたので、Ctrl+K(現在の位置より後、行末まで削除)の設定の仕方について追記する。
まず、VBAを開き、下記のコードを入力。
Sub KillLine()
' カーソル以降の現在行をカット
Selection.EndKey Unit:=wdLine, Extend:=wdExtend
Selection.Cut
End Sub
次に、「ショートカットキーの割り当て」の画面から、「マクロ」を選び、以下のように設定する。
これで「Ctrl+K」で末尾まで削除できるようになった。
(こちらのコードはこちらのサイトから拝借させていただきました)
【2017/10/25追記】
最近のアップデートで、ショートカットの設定の方法が刷新されたようで、既存のショートカット設定はすべて消去されてしまいました。。。
●変更点
- コマンド名がWindowsと同様、英語風のものに戻った
今から設定しなおします……。