Wordでの作業効率を格段に向上させるには、ショートカットキーの活用が不可欠です。しかし、Wordに用意されているショートカットキーは膨大で、すべてを記憶するのは困難ですよね。そこで本記事では、よく使うショートカットキーを自分好みにカスタマイズし、一覧表として出力する方法を、ベテランExcel VBA講師の視点から徹底解説します。これにより、あなたのWord作業は劇的にスピードアップすること間違いなしです。
なぜショートカットキー一覧表が必要なのか?
マウス操作に頼っていると、どうしても作業スピードが遅くなりがちです。特に、頻繁に行う操作(文字のコピー&ペースト、太字・斜体への変更、書式設定のクリアなど)をショートカットキーで行えるようになると、その差は歴然とします。
しかし、前述の通り、Wordのショートカットキーは数多く存在します。すべてのキーを丸暗記しようとすると、かえって混乱を招くことも。そこで、「よく使うものだけ」「自分が使いやすいようにカスタマイズしたもの」を一覧にして手元に置くことが、効率的な習得への近道となります。
さらに、Wordには「ショートカットキーのカスタマイズ」機能が備わっており、既存のショートカットキーを変更したり、特定の操作に独自のショートカットキーを割り当てたりすることも可能です。この機能を活用すれば、自分だけの最強のショートカットキー環境を構築できます。
Word標準機能でショートカットキー一覧を取得する方法
Wordには、標準機能で現在設定されているショートカットキーの一覧を印刷できる機能が備わっています。この機能を使えば、手軽に一覧表を作成できます。
1. **Wordのオプションを開く:**
* 「ファイル」タブをクリックします。
* 左側のメニューから「オプション」を選択します。
2. **リボンのユーザー設定を開く:**
* Wordのオプションウィンドウが開いたら、左側のメニューから「リボンのユーザー設定」を選択します。
3. **キーボードショートカットのユーザー設定を開く:**
* 画面右側にある「リボンのユーザー設定」の下に、「キーボードショートカットのユーザー設定」というボタンがあります。これをクリックします。
4. **コマンドの一覧を表示:**
* 「Wordのオプション」ウィンドウが再度表示され、「キーボードのユーザー設定」というタブがアクティブになっています。
* 「分類」ボックスで、「すべてのコマンド」を選択します。これにより、Wordで利用可能なすべてのコマンドが表示されます。
5. **一覧表の生成と保存:**
* ウィンドウの下部にある「一覧表の保存」ボタンをクリックします。
* 保存場所とファイル名を入力して、「保存」をクリックします。
これで、現在Wordに設定されているショートカットキーの一覧が、HTML形式のファイルとして保存されます。このHTMLファイルをWebブラウザで開くと、コマンド名とそれに対応するショートカットキーが一覧で表示されます。必要に応じて、このWebページを印刷したり、PDFに変換したりして、いつでも参照できる状態にしておきましょう。
VBAを使ったショートカットキー一覧表の自動生成(応用編)
Wordの標準機能でも一覧表は作成できますが、より柔軟に、あるいは特定の条件で絞り込んだ一覧表を作成したい場合は、VBA(Visual Basic for Applications)を活用するのが効果的です。ここでは、VBAを使用して、現在設定されているショートカットキーを一覧表形式で取得し、Excelシートに出力するサンプルコードを紹介します。
このVBAコードは、Wordアプリケーションに登録されているすべてのコマンドと、それに紐づくショートカットキーを列挙し、Excelの新しいブックに書き出します。
Sub CreateShortcutList()
Dim wdApp As Object
Dim wdDoc As Object
Dim cmd As CommandBarControl
Dim ShortcutKey As String
Dim ws As Worksheet
Dim rowIndex As Long
‘ Excelの新しいブックを作成
Set ExcelApp = CreateObject(“Excel.Application”)
ExcelApp.Visible = True
Set NewWorkbook = ExcelApp.Workbooks.Add
Set ws = NewWorkbook.Sheets(1)
‘ ヘッダー行を作成
ws.Cells(1, 1).Value = “コマンド名”
ws.Cells(1, 2).Value = “ショートカットキー”
ws.Range(“A1:B1”).Font.Bold = True
ws.Columns(“A:B”).AutoFit
rowIndex = 2
‘ Wordアプリケーションオブジェクトを取得 (既にWordが開いている場合)
On Error Resume Next
Set wdApp = GetObject(, “Word.Application”)
If wdApp Is Nothing Then
‘ Wordが開いていない場合は新規作成
Set wdApp = CreateObject(“Word.Application”)
wdApp.Visible = True
End If
On Error GoTo 0
‘ すべてのメニューバーとツールバーのコントロールを走査
For Each mb In wdApp.CommandBars
For Each cmd In mb.Controls
If cmd.HasSubControls Then
‘ サブメニューがある場合、再帰的に処理
ProcessSubControls cmd, ws, rowIndex
Else
‘ サブメニューがない場合
If cmd.Parameters.Count = 0 Then ‘ パラメータがないコマンドのみ対象とする
ShortcutKey = “”
On Error Resume Next
ShortcutKey = cmd.ShortcutKeys ‘ ショートカットキーを取得
On Error GoTo 0
If ShortcutKey <> “” Then
ws.Cells(rowIndex, 1).Value = cmd.Caption
ws.Cells(rowIndex, 2).Value = ShortcutKey
rowIndex = rowIndex + 1
End If
End If
End If
Next cmd
Next mb
‘ Columnを自動調整
ws.Columns(“A:B”).AutoFit
MsgBox “ショートカットキー一覧表をExcelに作成しました。”, vbInformation
‘ オブジェクトを解放
Set cmd = Nothing
Set mb = Nothing
Set wdApp = Nothing
Set ws = Nothing
Set NewWorkbook = Nothing
Set ExcelApp = Nothing
End Sub
‘ サブメニューを再帰的に処理する関数
Sub ProcessSubControls(ParentControl As Object, ws As Worksheet, ByRef rowIndex As Long)
Dim SubCtrl As Object
Dim ShortcutKey As String
For Each SubCtrl In ParentControl.Controls
If SubCtrl.HasSubControls Then
‘ さらにサブメニューがある場合、再帰的に呼び出す
ProcessSubControls SubCtrl, ws, rowIndex
Else
‘ サブメニューがない場合
If SubCtrl.Parameters.Count = 0 Then ‘ パラメータがないコマンドのみ対象とする
ShortcutKey = “”
On Error Resume Next
ShortcutKey = SubCtrl.ShortcutKeys ‘ ショートカットキーを取得
On Error GoTo 0
If ShortcutKey <> “” Then
ws.Cells(rowIndex, 1).Value = SubCtrl.Caption
ws.Cells(rowIndex, 2).Value = ShortcutKey
rowIndex = rowIndex + 1
End If
End If
End If
Next SubCtrl
End Sub
**コードの解説:**
* `CreateObject(“Excel.Application”)`: Excelアプリケーションをプログラムから操作するために、Excelオブジェクトを作成します。
* `GetObject(, “Word.Application”)`: 既に開いているWordアプリケーションのインスタンスを取得します。もしWordが開かれていなければ、`CreateObject(“Word.Application”)`で新しくWordを起動します。
* `wdApp.CommandBars`: Wordのコマンドバー(メニューバー、ツールバーなど)にアクセスします。
* `cmd.Controls`: 各コマンドバーに含まれるコントロール(ボタン、メニュー項目など)を列挙します。
* `cmd.HasSubControls`: そのコントロールがサブメニューを持っているかどうかを判定します。
* `cmd.Caption`: コントロールの表示名(コマンド名)を取得します。
* `cmd.ShortcutKeys`: そのコマンドに割り当てられているショートカットキーの文字列を取得します。
* `ProcessSubControls` サブルーチン: メニュー階層が深い場合でも、すべてのコマンドを網羅するために再帰的に処理を行います。
* `ws.Cells(rowIndex, 1).Value = …`: Excelシートのセルにコマンド名やショートカットキーを書き込みます。
**VBAコードの実行方法:**
1. Wordを開きます。
2. 「Alt」+「F11」キーを押してVBAエディターを開きます。
3. 「挿入」メニューから「標準モジュール」を選択します。
4. 表示されたコードウィンドウに上記のVBAコードをコピー&ペーストします。
5. VBAエディターの実行ボタン(▶)をクリックするか、Wordに戻って「Alt」+「F8」キーを押し、「CreateShortcutList」マクロを選択して実行します。
実行後、Excelの新しいブックにショートカットキーの一覧が作成されます。このExcelファイルを保存すれば、いつでも確認できるようになります。
実務アドバイス:ショートカットキーを効果的に活用するために
1. **「よく使うもの」から制覇する:** 最初からすべてを覚えようとせず、日々の作業で「これ、もっと速くできないかな?」と思う操作からショートカットキーを調べてみましょう。例えば、「コピー」(`Ctrl`+`C`)、「貼り付け」(`Ctrl`+`V`)、「太字」(`Ctrl`+`B`)、「下線」(`Ctrl`+`U`)、「元に戻す」(`Ctrl`+`Z`)、「やり直し」(`Ctrl`+`Y`) などは、間違いなく使用頻度が高いです。
2. **一覧表を印刷してデスクに貼る:** 作成した一覧表を印刷し、よく目にする場所に貼っておきましょう。意識的にショートカットキーを使う習慣が身につきます。
3. **カスタマイズ機能を活用する:** Wordの「キーボードのユーザー設定」機能を使えば、既存のショートカットキーを変更したり、よく使う操作に自分でショートカットキーを割り当てたりできます。例えば、特定のフォントサイズに一発で変更するショートカットキーを設定するなど、自分だけの効率化を図りましょう。
* **カスタマイズ方法:** 「ファイル」→「オプション」→「リボンのユーザー設定」→「キーボードショートカットのユーザー設定」から、コマンドを選択し、「新しいショートカットキー」にキーの組み合わせを入力して「割り当て」ボタンをクリックします。
4. **「クイックアクセスツールバー」との併用:** ショートカットキーで呼び出しにくい機能は、クイックアクセスツールバーに登録しておくと便利です。これもマウス操作の回数を減らすのに役立ちます。
5. **継続は力なり:** 最初は意識して使っても、すぐに忘れてしまうかもしれません。しかし、諦めずに使い続けることで、徐々に体に染みつき、無意識に使えるようになります。
まとめ
Wordのショートカットキー一覧表を作成し、活用することは、日々の文書作成業務の効率を飛躍的に向上させるための強力な手段です。標準機能を使えば手軽に一覧表を作成できますし、VBAを使えばさらに高度なカスタマイズや自動化も可能です。
今回ご紹介した方法を参考に、ぜひあなただけのショートカットキー活用術を身につけてください。マウス操作に費やしていた時間を削減し、より創造的で付加価値の高い作業に集中できるようになるはずです。ショートカットキーをマスターしたあなたは、もうWord作業の達人です!
