Home » ワードマクロ・Word VBAの使い方 » Range(0, 0)とは

対象:Word2007, Word2010, Word2013, Windows版Word2016

「word vba range(0,0)」
「ワード マクロ activedocument.range(0, 0)」
といった検索キーワードで、このサイト・インストラクターのネタ帳へのアクセスが時折あります。

Word VBA(Visual Basic for Applications)に登場する、「ActiveDocument.Range(0, 0)」といったオブジェクト式の意味を調べていた方による検索でしょうか。

Range(0, 0)とは

「vba range(0:0)の意味」
という検索キーワードも同じことを調べていた可能性が高いと考えています。

[スポンサードリンク]

Document.Rangeメソッドの動作を確認するサンプルマクロ

解説をいきなり読むよりも、引数を変更しながら、何度かマクロを実行してみることをおすすめします。


Sub Rangeメソッドの動作を確認する()
 ActiveDocument.Range(Start:=0, End:=1).Select
End Sub

何らかの文章が入力されているWord文書がアクティブな状態で上記のマクロを実行すると、1文字目だけが選択されます。

Document.Rangeメソッドの引数を変更しながら何度かサンプルマクロを実行しましょう

つづいて、
  ActiveDocument.Range(Start:=0, End:=1).Select
を、
  ActiveDocument.Range(Start:=0, End:=2).Select
に変更してから実行すると、1文字目と2文字目が選択されます。

更に、
  ActiveDocument.Range(Start:=1, End:=2).Select
に変更してから実行すると、2文字目だけが選択されます。

DocumentオブジェクトのRangeメソッドは、文書内のいずれかの範囲を表すRangeオブジェクトを取得するメソッドです。

引数・Startには範囲の先頭の文字の位置を、引数・Endには範囲の最後の文字の位置を指定します。

ですから、
  ActiveDocument.Range(Start:=0, End:=1).Select
は、0文字目以降で1文字目までの、1文字目だけが選択が選択され
  ActiveDocument.Range(Start:=0, End:=2).Select
は、0文字目以降で2文字目までの、1文字目と2文字目が選択が選択され
  ActiveDocument.Range(Start:=1, End:=2).Select
は、1文字目以降で2文字目までの、2文字目だけが選択が選択されたわけです。

上記のサンプルでは、範囲の先頭と最後ということを意識していただくために、名前付き引数を使ったオブジェクト式にしていますが、一旦仕様がわかってしまえば、決して意味がわかり辛い引数ではありませんから、
  ActiveDocument.Range(Start:=0, End:=1).Select
というコードなら、標準引数を使って
  ActiveDocument.Range(0, 1).Select
のような書き方をすることが多いでしょう。

Document.Range(0, 0)とは

結局、この記事の元になった、
  ActiveDocument.Range(0, 0)
というオブジェクト式は、
  ActiveDocument.Range(Start:=0, End:=0)
と同じことで、アクティブな文書の0文字目から0文字目、すなわち文書の先頭を表すRangeオブジェクトを取得しているわけです。

DocumentオブジェクトのRangeメソッドを利用したプロシージャもご紹介している、以下の記事もあわせてご参照ください。

[スポンサードリンク]

Home » ワードマクロ・Word VBAの使い方 » Range(0, 0)とは

TrackBack:0

TrackBack URL
[スポンサードリンク]

Home » ワードマクロ・Word VBAの使い方 » Range(0, 0)とは

「ワードマクロ・Word VBAの使い方」の記事一覧

検索


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

.