Home » ワードマクロ・Word VBAの使い方 » 文・センテンス » カーソルのある文・センテンスの文字列をWord VBAで取得する

カーソルのある文・センテンスの文字列をWord VBAで取得する

対象:Word2007, Word2010, Word2013

「word vba カーソルのある文」
という検索で、このサイト・インストラクターのネタ帳へのアクセスがありました。

カーソルのある文を取得するWord VBAのコードを探している方による検索です。

カーソルのある文の文字列を取得するサンプルマクロ

参考になりそうな簡単なマクロを作ってみました。

Sub カーソル位置のSentenceを取得する()
 MsgBox Selection.Sentences(1).Text
End Sub

上記のマクロを実行すると、本文中でカーソルの置かれている文・センテンスの文字列がメッセージボックスに表示されます。

サンプルマクロで行っている処理について

SelectionオブジェクトのSentencesプロパティで、

カーソルのある文の文字列を取得するWordマクロ

選択範囲内のすべての文を表すSentencesコレクションオブジェクトが取得できます。

SentencesコレクションオブジェクトのデフォルトメンバーItemメソッドで、

カーソルのある文の文字列を取得するWordマクロ

文を表すRangeオブジェクトを取得できます。

選択範囲内のすべての文を表すSentencesコレクションのうち、1つ目のRangeオブジェクトがカーソルのある位置の文です。

ですから、SentencesコレクションオブジェクトのデフォルトメンバーであるItemメソッドの引数に「1」を指定した「Selection.Sentences.ItemWord VBA: Getting a Sentence of Cursor Position(1)」というオブジェクト式で、カーソルのある位置の文を表すRangeオブジェクトを取得できます。

コレクションから単一オブジェクトを取得するときの「Item」は省略して書くのが一般的なので上記のマクロでは「Selection.Sentences(1)」としています。

「Selection.Sentences(1)」で取得できた、カーソルのある文を表すRangeオブジェクトの文字列をTextプロパティで、

カーソルのある文の文字列を取得するWordマクロ

取得するオブジェクト式「Selection.Sentences(1).Text」を、MsgBox関数の引数に指定しているのが、上記の、

MsgBox Selection.Sentences(1).Text

というコードです。

最終更新日時:2022-07-21 14:43

[スポンサードリンク]

Home » ワードマクロ・Word VBAの使い方 » 文・センテンス » カーソルのある文・センテンスの文字列をWord VBAで取得する

「文・センテンス」の記事一覧

検索


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

.