Home » ワードマクロ・Word VBAの使い方 » Selection » Word VBAのFindで見つかった文字が何文字目かを取得する

Word VBAのFindで見つかった文字が何文字目かを取得する

動作検証バージョン:Windows 11 Home + 64bit Word バージョン 2505(ビルド18827.20128クイック実行)

「word vba find character position」
といった検索が行われていました。

Word VBAのFindメソッドで検索を行い、見つかったときに何文字目なのかを取得するには、どのようなコードを書けばいいのかを調べていらしたのでしょうか。

Findで見つかった文字が何文字目かを取得するサンプルマクロ

「★」の入力されているWord文書がアクティブな状態で、以下のWordマクロを実行してください。

Sub 見つかった文字の先頭からの位置を取得する()

 ActiveDocument.Range(0, 0).Select
 
 With Selection.Find
  .Text = "★"
  If .Execute Then
   MsgBox Selection.Start + 1
  Else
   MsgBox "見つかりませんでした"
  End If
 End With

End Sub

サンプルマクロで行っている処理

拙著『Excel VBAユーザーのためのWord VBA入門(1): Document・Range・Selectionの基本編』で、Word文書の先頭から何文字目かを返すSelection.Startプロパティを解説しています。

Selection.Startプロパティはゼロオリジンですから、上記のサンプルマクロでは

   MsgBox Selection.Start + 1

と、1を加算しています。

[スポンサードリンク]

Home » ワードマクロ・Word VBAの使い方 » Selection » Word VBAのFindで見つかった文字が何文字目かを取得する

「Selection」の記事一覧

検索


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

.