Home » エクセルマクロ・Excel VBAの使い方 » Shapeオブジェクト » Excel VBAのSentencesプロパティとは

Excel VBAのSentencesプロパティとは

動作検証バージョン:64bit Windows 10 Pro + 32bit Excel(バージョン2003 ビルド12624.20382 Microsoft Store)

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オブジェクトは、文ではない点に注意が必要です。
Sub Sentencesを確認する()
 Dim trng As TextRange2
 For Each trng In ActiveSheet.Shapes(1).TextFrame2.TextRange.Sentences
  trng.Select
  Stop
 Next
End Sub

アクティブなシートのテキストボックスに、複数の文と、複数の段落が存在する日本語の文章が入力された状態で、上記のSubプロシージャを実行してください。

日本語の文と段落が存在している場合、文ではなく段落単位で選択が繰り返されます。

一方、英語のセンテンスとパラグラフが存在している場合は、「.」を区切り文字とするセンテンス単位で選択が繰り返されます。

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » Shapeオブジェクト » Excel VBAのSentencesプロパティとは

TrackBack:0

TrackBack URL

Home » エクセルマクロ・Excel VBAの使い方 » Shapeオブジェクト » Excel VBAのSentencesプロパティとは

「Shapeオブジェクト」の記事一覧

検索


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

.