Word VBAのSentencesプロパティについて記事を書きました。
Excelから表示したVBEのオブジェクトブラウザーで「sentences」を検索すればわかるとおり、
Sentencesプロパティは、Excel VBAにも存在します。
Excel VBAのSentencesプロパティはTextRange2オブジェクトを返す
Excel VBAのSentencesプロパティは、TextRange2オブジェクトにのみ用意されており、オブジェクトブラウザーの詳細ペインに「As TextRange2」と明記されるとおり、TextRange2オブジェクトを返します。
TextRange2.Sentencesプロパティで返されるTextRange2オブジェクトは、CountプロパティとItemメソッドが存在することから
コレクションです。
TextRange2オブジェクトがコレクションであり、そのプロパティがTextRange2オブジェクトを返すという関係は、Excel VBAで、Rangeオブジェクトはコレクションでもあり、そのプロパティがRangeオブジェクトを返すという関係に似ています。
Sentencesコレクションとセンテンス(?)を確認する
センテンスとは、日本語の場合「。」で区切られる「文」に該当するはずですが、Excel VBAのTextRange2.Sentencesプロパティで返されるTextRange2オブジェクトは、文ではない点に注意が必要です。
Dim trng As TextRange2
For Each trng In ActiveSheet.Shapes(1).TextFrame2.TextRange.Sentences
trng.Select
Stop
Next
End Sub
アクティブなシートのテキストボックスに、複数の文と、複数の段落が存在する日本語の文章が入力された状態で、上記のSubプロシージャを実行してください。
日本語の文と段落が存在している場合、文ではなく段落単位で選択が繰り返されます。
一方、英語のセンテンスとパラグラフが存在している場合は、「.」を区切り文字とするセンテンス単位で選択が繰り返されます。
- Newer:PowerPoint VBAでセルの塗りつぶしを設定する
- Older:Word VBAで表の最終行を削除する
Home » エクセルマクロ・Excel VBAの使い方 » 図形内文字列 » Excel VBAのSentencesプロパティとは