Home » ワードマクロ・Word VBAの使い方 » Documentオブジェクト » ActiveDocument.Charactersとは

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

「ActiveDocument.Characters」
といった検索でアクセスがありました。

このキーワードだけで詳細は不明ですが、「ActiveDocument.Characters」というWord VBAのコードについて調べていた方による検索でしょう。

ActiveDocument.Charactesとは

拙著『いちばんやさしいPowerPoint VBAの教本』でも多用しているオブジェクトブラウザーで確認すると、詳細ペインに「As Document」と表示されるとおりActiveDocumentプロパティの戻り値はDocumentオブジェクトです。

ですから「ActiveDocument.Characters」というコードは、Documentオブジェクトに用意されているCharactersプロパティを利用しているコードです。

Document.Charactersプロパティの戻り値は、オブジェクトブラウザーの詳細ペインに「As Characters」と表示されているとおり、Charactersオブジェクトです。

Document.Charactersプロパティの戻り値であるCharactersオブジェクトには、CountプロパティとItemメソッドが用意されていることから、

コレクションであると推測できます。そして、Charactersコレクションに用意されているItemメソッドは、Rangeオブジェクトを返すことがわかります。

Document.Charactersを確認するSubプロシージャ

Word VBAの最重要なオブジェクトの一つRangeは、どのプロパティで取得したかによってどの範囲を表すかが異なるオブジェクトです。

Document.Charactersプロパティで取得できるCharactersコレクションの、単独のオブジェクトであるRangeが、どのようなRangeなのかは、以下のようなSubプロシージャを実行するとイメージしやすいでしょう。

Sub DocumentのCharactersで取得できるRangeを確認する()
 Dim rng As Range
 For Each rng In ActiveDocument.Characters
  rng.Select
  MsgBox rng.Text
 Next
End Sub

Document.Charactersを確認するSubプロシージャの実行

1つ目の段落に、
  一行目
2つ目の段落に、
  二行目
という文字列を入力した、以下のような文書がアクティブな状態で、

上記のSubプロシージャを実行してみてください。

アクティブな文書に入力されている、
  一
  行
  目
  (段落記号)
  二
  行
  目
  (段落記号)
が、順番に選択され、メッセージボックスに各文字が表示されます。

このように1つの文字を表すRangeオブジェクトを、単独のオブジェクトとして持つ、Charactersコレクションを返すのが、Document.Charactersプロパティです。アクティブ文書のCharactersコレクションを取得しているのが、「ActiveDocument.Characters」というWord VBAのコードです。

最終更新日時:2022-01-08 05:49

[スポンサードリンク]

Home » ワードマクロ・Word VBAの使い方 » Documentオブジェクト » ActiveDocument.Charactersとは

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

検索


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

.