Home » ワードマクロ・Word VBAの使い方 » 段落・パラグラフ » 選択箇所のParagraphsコレクションを取得する

選択箇所のParagraphsコレクションを取得する

対象:Word2007, Word2010, Word2013, Windows版Word2016

このサイト・インストラクターのネタ帳のアクセスログを眺めていて、
「vba word カーソルがある paragraphsコレクションオブジェクトを取得」
「vba word 選択している箇所 paragraphsコレクションオブジェクトを取得」
という検索キーワードでのアクセスがあることに気づきました。

Word文書内で、選択されている箇所・カーソルが存在している箇所の、Paragraphsコレクションオブジェクトを取得する、

選択箇所のParagraphsコレクションオブジェクトを取得する

Word VBA(Visual Basic for Applications)の、オブジェクト式を探していた方による検索です。

[スポンサードリンク]

選択箇所のParagraphsコレクションオブジェクトを取得するサンプルマクロ

以下のWordマクロを実行すると、選択されている箇所の段落を表すParagraphsコレクションオブジェクトが取得できていることを確認できます。

Sub 選択箇所のParagraphsコレクションを取得()
 Dim pars As Paragraphs
 Set pars = Selection.Paragraphs
 Stop
End Sub

Stopステートメントで、ステップ実行モードになりますから、メニュー[表示]-[ローカルウィンドウ]からローカルウィンドウを表示すると、

選択箇所のParagraphsコレクションオブジェクトを取得する

オブジェクト変数・parsに、選択箇所の全段落を表すParagraphsコレクションオブジェクトがセットされていることを確認できます。

ローカルウィンドウの「Item 1」をクリックして展開すると、Paragraphsコレクションオブジェクトに含まれる1つ目のParagraphオブジェクトの中身を見られます。

選択箇所のParagraphsコレクションオブジェクトを取得する

複数の段落が選択されていれば、選択されていた段落の数だけ「Item 2」「Item 3」と表示されます。

サンプルマクロの解説

Word VBAでは、ApplicationオブジェクトのSelectionプロパティで、

選択箇所のParagraphsコレクションオブジェクトを取得する

選択されている箇所を表すSelectionオブジェクトを取得できます。

Word VBAにはSelectionオブジェクトが存在する

Excel VBAの場合、Selectionオブジェクトは存在しておらず、Selectionプロパティで選択箇所を表す何らかのオブジェクトを取得できますが、Word VBAの場合はSelectionオブジェクトが存在しています。

選択箇所のParagraphsコレクションオブジェクトを取得する

「vba word カーソルがある paragraphsコレクションオブジェクトを取得」
「vba word 選択している箇所 paragraphsコレクションオブジェクトを取得」
という検索をなさった方が、Excel VBAに慣れていた場合、この違いをしっかりと意識する必要があります。

WordのSelectionプロパティもグローバルメンバーだから上位のオブジェクト式を省略できる

WordのSelectionプロパティはグローバルメンバーですから、

選択箇所のParagraphsコレクションオブジェクトを取得する

上記のSubプロシージャでは、上位のオブジェクト式を省略していきなり「Selection」からコードを書いています。

Selectionオブジェクトの持つ、Paragraphsプロパティで、

選択箇所のParagraphsコレクションオブジェクトを取得する

選択されている箇所の全段落を表すParagraphsコレクションオブジェクトを取得しているのが「Selection.Paragraphs」というオブジェクト式です。

[スポンサードリンク]

Home » ワードマクロ・Word VBAの使い方 » 段落・パラグラフ » 選択箇所のParagraphsコレクションを取得する

「段落・パラグラフ」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.