【Word VBA】カーソル位置の段落を蛍光ペンで着色するWordマクロ

2017年8月28日

【読み物】Wordをアウトライナーとして使う!」に、Wordをアウトライナーとして利用していることを以前書きました。私はこのアウトラーナーをタスクリストに利用しています。

使い方については未だに試行錯誤をしているところです。「ExcelのタスクリストよりはWordのタスクリストのほうが使いやすそうだ」ということに気がついただけで、それ以上のことはまだしていません(笑)。使いやすそうというよりは、単にWordが好きなだけかもしれません。

で、タスクリストの重要度を視覚的に示すために蛍光ペンで着色をしています。この目的のためのマクロを紹介します。

このマクロでできること

カーソルのある段落全体に蛍光ペンの黄色を着色します。

以下の例では、Wordのアウトラインモードの表示になっています。

(実行前)

(実行後)

なお、私はこのマクロをショートカットキーの Ctrl + 4 に設定しています。

このショートカットキーは、OneNoteの「ノートにノート シールを適用する」ためのショートカットキーと同じです。他のアプリケーションの使い慣れたショートカットキーと機能が同じであれば同じキーを使うのがいいですよね。

マクロの解説

マクロの実行の前後でカーソルの位置が変わらないように、Selectionオブジェクトではなく、Rangeオブジェクトで処理をしています。

9行目から13行目の処理により、すでに蛍光ペンの黄色が着色されている場合には蛍光ペンを解除できるようにしました。

この挙動も、OneNoteの段落を着色する機能と同じです。

マクロ


Sub 段落を着色_黄色()

 Dim myRange As Range

 Set myRange = Selection.Range

 With myRange
  .Expand wdParagraph
  If .HighlightColorIndex = wdYellow Then
   .HighlightColorIndex = wdNoHighlight
  Else
   .HighlightColorIndex = wdYellow
  End If
 End With

 Set myRange = Nothing

End Sub

-コード
-, ,