「word vba カーソルのある文」
という検索で、このサイト・インストラクターのネタ帳へのアクセスがありました。
カーソルのある文を取得するWord VBAのコードを探している方による検索です。
カーソルのある文の文字列を取得するサンプルマクロ
参考になりそうな簡単なマクロを作ってみました。
MsgBox Selection.Sentences(1).Text
End Sub
上記のマクロを実行すると、本文中でカーソルの置かれている文・センテンスの文字列がメッセージボックスに表示されます。
サンプルマクロで行っている処理について
SelectionオブジェクトのSentencesプロパティで、
選択範囲内のすべての文を表すSentencesコレクションオブジェクトが取得できます。
SentencesコレクションオブジェクトのデフォルトメンバーItemメソッドで、
文を表す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プロパティで、
取得するオブジェクト式「Selection.Sentences(1).Text」を、MsgBox関数の引数に指定しているのが、上記の、
MsgBox Selection.Sentences(1).Text
というコードです。
最終更新日時:2022-07-21 14:43
- Newer:ページ番号・スライド番号を消すには
- Older:学習の継続を支援するツールとしての「チャレンジタッチ」
Home » ワードマクロ・Word VBAの使い方 » 文・センテンス » カーソルのある文・センテンスの文字列をWord VBAで取得する