Home » ワードマクロ・Word VBAの使い方 » Word.Findオブジェクト » Word VBAで取り消し線を検索する

Word VBAで取り消し線を検索する

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

「word vba 取り消し線 検索」
という検索が、このサイト『インストラクターのネタ帳』で行われていました。

取り消し線を検索するサンプルマクロ

取り消し線を検索してどうしたいのかが、
「word vba 取り消し線 検索」
だけではわからないので、参考になりそうな簡単なWordマクロをご紹介しておきます。

Sub 取り消し線の引かれている文を選択する()

 ActiveDocument.Range(0, 0).Select
 
 With Selection.Find
  .Font.StrikeThrough = True
  
  If .Execute Then
   Selection.Sentences(1).Select
  Else
   MsgBox "アクティブな文書に、取り消し線は引かれていないようです。"
  End If
 
 End With

End Sub

上記のWordマクロを実行すると、アクティブな文書で取り消し線の引かれている文字列を含む最初の文が選択されます。

取り消し線を検索するサンプルマクロで行っている処理

Fontオブジェクトに用意されている「StrikeThroughプロパティの戻り値がTrueの場合」

を検索条件に設定しておいてから、

 With Selection.Find
  .Font.StrikeThrough = True

Fine.Executeメソッドで検索を実行して、

見つかったときにRangeオブジェクトのSelectメソッドで選択を行っています。

  If .Execute Then
   Selection.Sentences(1).Select

オブジェクト式「.Sentences(1)」で、WordのRangeオブジェクトが取得できる件については、拙著『Excel VBAユーザーのためのWord VBA入門(1): Document・Range・Selectionの基本編』の「3-8. Sentences経由でRangeを取得する」で解説しているとおりです。

Fine.Executeメソッドの戻り値がFalseだったときには、取り消し線が見つからなかった旨のメッセージを表示しています。

  Else
   MsgBox "アクティブな文書に、取り消し線は引かれていないようです。"
[スポンサードリンク]

Home » ワードマクロ・Word VBAの使い方 » Word.Findオブジェクト » Word VBAで取り消し線を検索する

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

検索


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

.