Home » ワードマクロ・Word VBAの使い方 » Word.Rangeオブジェクト » Word VBAでRangeを1文字広げる-End・Startプロパティ

Word VBAでRangeを1文字広げる-End・Startプロパティ

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

「vba word range 広げる」
という検索キーワードでアクセスがありました。

Word VBAで、文字列範囲を表すRangeオブジェクトを広げるには、どのようなコードを書けばいいのかを探していた方による検索でしょうか。

「広げる」といっても、どう広げたいのかがわかりませんので、Rangeの基本を理解するためにも、1文字広げるサンプルをご紹介しておきます。

Rangeを1文字後ろに広げるサンプル

アクティブな文書で文字列を選択しておいて以下のSubプロシージャを実行すると、選択範囲が1文字後ろに広がります。

Sub Rangeを広げる_1文字後ろに()
 With Selection.Range
  .End = .End + 1
  .Select
 End With
End Sub

まず、SelectionオブジェクトのRangeプロパティで、

選択されている文字列範囲を表すRangeオブジェクトを取得します。
  With Selection.Range

Rangeオブジェクトに用意されているEndプロパティを利用すると、

Rangeの、末尾に該当する文字の位置を取得・設定できますから、1を加算することで、
  With Selection.Range
   .End = .End + 1

後ろ方向に1文字Rangeを広げています。

Endプロパティの値に1を加算した時点でRangeオブジェクトは広がっているのですが、これだけでは何が起きているのかわからないため、RangeオブジェクトのSelectメソッドで、

選択を行っています。
   .Select

Rangeを1文字前に広げるサンプル

以下のSubプロシージャを実行すると、選択範囲が1文字前方向に広がります。

Sub Rangeを広げる_1文字前に()
 With Selection.Range
  .Start = .Start - 1
  .Select
 End With
End Sub

Rangeオブジェクトに用意されているStartプロパティを利用すると、

文字列範囲の、開始文字の位置を取得・設定できますから、1を減算することで、
 With Selection.Range
  .Start = .Start - 1

Rangeを前方向に1文字広げています。

最終更新日時:2022-09-22 16:19

[スポンサードリンク]

Home » ワードマクロ・Word VBAの使い方 » Word.Rangeオブジェクト » Word VBAでRangeを1文字広げる-End・Startプロパティ

「Word.Rangeオブジェクト」の記事一覧

検索


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

.