【Word VBA】選択範囲を広げるWordマクロ(1)

2010年6月14日

先日のyumihenさんの「『において』のマクロ」の記事からいい学びがありましたので紹介します。

マクロ


Sub 選択範囲を広げるWordマクロ()
 Selection.MoveEndUntil Cset:="文字列", Count:=wdForward
End Sub

これいいですよ。

日本語訳

選択範囲において、条件を満たすまでは終了位置を移動させる 条件とは「終了位置の隣の文字列が”文字列”のうちのいずれか1文字である」こと、移動方向は下向き

マクロの解説

選択範囲(選択範囲の終了位置)を、Csetで指定した文字列のうち1文字がでてくるまで拡大させます。

この文字列というのは、複数の文字列を指定できるのです。

たとえば、

Cset:= "abcd"

とすると、"a"、"b"、"c"、"d"、のいずれかがでるまで、選択範囲を拡大します。

A, B, C, Dは無視しますよ。大文字・小文字は区別します。

たとえば、

Selection.MoveEndUntil Cset:="abcd", Count:=wdForward

カーソルが文章の先頭にあるときに実行するとこんな感じ。

小文字の"a"の手前まで選択されます。

上記ですと、Count:=wdForward となっており、下方向に移動します。

Count:=100

とした場合には、下方向に100文字目までは探しますよ、でも100文字しても指定した文字列が出てこなかったら選択範囲は広げませんよ、という意味になります。

-コード
-,