「.Sentencesプロパティとは」
という検索キーワードに気が付きました。
どのアプリケーションかは不明ですが、Sentencesプロパティについて調べていた方による検索です。
この記事では、Word VBAのSentencesプロパティについて解説します。
SentencesプロパティはSentecesコレクションを返す
Word VBAのSentencesプロパティは、いくつかのオブジェクトに用意されていますが、いずれもSentencesオブジェクトを返します。
拙著『いちばんやさしいPowerPoint VBAの教本』のLesson 08でお伝えしている、オブジェクトを取得するためのプロパティに該当します。
Sentencesプロパティで返されるSentencesオブジェクトは、拙著Lesson 10でも確認しているとおり、ItemメソッドとCountプロパティがあることから
コレクションであると推測できます。
このようなルールはWord VBAでもPowerPoint VBAでも同じです。
そのItemメソッドで返される単独のオブジェクトは、センテンス(文)を表すRangeオブジェクトです。
Sentenceオブジェクトは存在しない
Sentencesコレクションに含まれる単独のオブジェクトが、Sentenceオブジェクトではないのかと考えてしまう方がいるはずですが、Word VBAに「Sentence」という名前のオブジェクトは存在しません。
オブジェクトブラウザーで[完全に一致する単語だけを検索]オプションをOnにして「sentence」を検索してみても何もヒットしません。
クラスペインをブラウズしても「Sentences」はありますけれど、「Sentence」は見当たりません。
Sentencesコレクションとセンテンスを表すRangeオブジェクトを確認する
SentencesプロパティとSentencesコレクションを理解するには、Sentencesコレクションに含まれる、個々のセンテンスを表すRangeオブジェクトを意識することが必要です。Dim rng As Range
For Each rng In ActiveDocument.Sentences
rng.Select
Stop
Next
End Sub
複数のセンテンスを含む文書をアクティブな状態にして上記のSubプロシージャを実行すると、「。」や「.」を区切りと見なすセンテンス(文)が選択され、中断モードになります。更に実行すると、次のセンテンスが選択され、中断モードになります。
アクティブな文書に、
=rand()
あるいは、
=lorem()
などを使って何らかの文書を入力して、上記のSubプロシージャを実行して、Sentencesコレクションに含まれる個々のセンテンスを表すRangeオブジェクトを意識してください。
最終更新日時:2020-04-09 08:59
- Newer:Word VBAで表の最終行を削除する
- Older:ハイパーリンク付きの目次を自動作成するPowerPointマクロ
Home » ワードマクロ・Word VBAの使い方 » 文・センテンス » Word VBAのSentencesプロパティとは