アウトライナー用のマクロです。
アウトライナーについては、記事「Wordをアウトライナーとして使う!」をご覧ください。
アウトライナーを使って文章を作成しているときに、次の段落に別のアイディア、項目、キーワードを挿入する場合があります。
このときに、現在文章を書いている段落と同じ段落スタイル(アウトラインレベル)で次の段落を挿入できると便利です。
さっそく作ってみました。
<目次>
このマクロでできること
カーソルのある段落の次の段落に新しい段落を挿入します。
そのとき、挿入される段落には、カーソルのある段落と同じスタイルが設定されます。
(実行前)
(実行後)
マクロの解説
複数段落をまたいで選択している場合には、最終段落をRangeオブジェクトで取得しています。
最終段落は、Paragraphs.Lastプロパティで取得できます。(9行目)
14行目でカーソル位置の段落スタイルを取得しています。
23行目で挿入した段落に取得した段落スタイルを設定しています。
25行目のSelectメソッドで、挿入した段落にカーソルを移動させます。
Rangeオブジェクトで操作をしていたのでカーソル移動をともなっていませんでした。カーソル移動をする場合にはRangeオブジェクトをSelectすればよいのです。
マクロ
Sub 段落を挿入() Dim myRange As Range Dim myStyle As Style '------------------------------------------- '選択範囲の最終段落をRangeオブジェクトで取得 '------------------------------------------- Set myRange = Selection.Paragraphs.Last.Range '------------------------------------------- '対象の段落の「段落スタイル」を取得 '------------------------------------------- Set myStyle = myRange.Style '------------------------------------------- '選択範囲の段落の後ろに段落を挿入 '------------------------------------------- With myRange .InsertParagraphAfter With .Paragraphs.Last.Range 'スタイルの設定 .Style = myStyle .Collapse wdCollapseStart .Select End With End With '------------------------------------------- 'オブジェクト変数の解放 '------------------------------------------- Set myRange = Nothing Set myStyle = Nothing End Sub