Wordのマクロ記録で検索条件と色変更を作り実行するが、反応しないそんな質問があったので、
おじさんが手作業で Find.Execute を足してデバッグしてみたら・・・
そんなお話です・・・って、どんな話だよ・・・
#WordVBA #マクロ記録 #デバッグ #Selection #Find #Execute #Range #HighlightColorIndex
#マイクロソフトワード #マクロ #Debug #検索実行 #選択範囲 #フォント色変更
知恵袋の下記質問に答えてみた
detail.chiebukuro.yahoo.co.jp
>word文書内の上付き文字に、緑マーカーを引くマクロを組みたいです。
>マクロの自動記録機能を使って、word文書内のすべての上付き文字に緑のハイライトを入れたいです。
>自動記録機能では以下のようなプログラムができましたが、
>これを実行してもマーカーが引かれません。原因を教えていただけませんか?
www.youtube.com
https://www.youtube.com/watch?v=_ut1I7CagL0
原因:
1.検索の実行 Find.Execute が無いからかな?
Selection.Find.Execute
で検索実行してから、色を変えるとか?
2.ループで繰り返す
While Selection.Find.Execute = true Selection.Range.HighlightColorIndex = wdBrightGreen Wend
終わりの挨拶、
もしかしたら、1つ1つ Find.Execute しましたが、
全て 置換実行 みたいな、もっとスッキリしたコード・やり方があるかもしれませんが、
解決のヒントとなれば幸いです。
Sub uetsuki_mark() ' ' uetsuki_mark Macro ' ' Selection.Find.ClearFormatting With Selection.Find.Font .Superscript = True .Subscript = False End With With Selection.Find .Text = "" .Replacement.Text = "" .Forward = True .Wrap = wdFindContinue .Format = True .MatchCase = False .MatchWholeWord = False .MatchByte = False .MatchAllWordForms = False .MatchSoundsLike = False .MatchWildcards = False .MatchFuzzy = False End With Options.DefaultHighlightColorIndex = wdBrightGreen 'デフォルトマーカーを緑に While Selection.Find.Execute = True '検索実行とデータが存在する間、ループする '選択範囲の色を変える Selection.Range.HighlightColorIndex = wdBrightGreen '選択範囲を緑に Wend End Sub