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

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

対象:Word2007, Word2010, Word2013

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

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

[スポンサードリンク]

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

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


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
というコードです。

[スポンサードリンク]

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

TrackBack:0

TrackBack URL

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

「Selection」の記事一覧

検索


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

.