Word VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


33 / 306 ツリー ←次へ | 前へ→

【703】塗りつぶしされた文字の検索を行いたい Alfa 10/9/8(水) 18:58 質問[未読]

【783】Re:塗りつぶしされた文字の検索を行いたい マナ 13/6/3(月) 21:05 発言[未読]
【785】Re:塗りつぶしされた文字の検索を行いたい マナ 13/6/9(日) 12:44 発言[未読]

【783】Re:塗りつぶしされた文字の検索を行いたい
発言  マナ  - 13/6/3(月) 21:05 -

引用なし
パスワード
   質問者さんは、もう見てないでしょうが。
自分でもやってみました。

まずはマクロの記録から。(Word2002と2010で試しましたが、どちらも同じ)
りるさんの回答は、大事な部分がコピペ漏れでしょうか。
Selection.Find.ClearFormatting
Selection.Find.Highlight = True

Sub Macro2()
'
' Macro2 Macro
' 記録日 2013-06-03 記録者 mana
'
  Selection.Find.ClearFormatting
  Selection.Find.Highlight = True
  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 = True
  End With
  Selection.Find.Execute
End Sub


マクロ記録でキーとなる箇所がわかれば、あとは何とかなる。
勉強のために、何でもいいから今はとにかく沢山書いてみようと思っているので、適当に。
例えば、青色蛍光ペンの箇所を削除するマクロだと、こんな感じで。

Sub test()
  Dim r As Range
  
  Set r = ActiveDocument.Content

  With r.Find
    .Highlight = True
    Do While .Execute
      If r.HighlightColorIndex = wdBlue Then
        r.Delete
      End If
    Loop
  End With

End Sub

【785】Re:塗りつぶしされた文字の検索を行いたい
発言  マナ  - 13/6/9(日) 12:44 -

引用なし
パスワード
   全然だめ。
複数の色が連続する場合は、色の特定はだめみたいですね。
でも解決策もちゃんと紹介されていました。

みんなのワードマクロ。ブックマークに追加させていただきます。
ht tp://ameblo.jp/gidgeerock/entry-10905373936.html
ht tp://ameblo.jp/gidgeerock/entry-11012321922.html

Sub test2()
  Dim r As Range
 
  Set r = ActiveDocument.Content

  With r.Find
    .Highlight = True
    Do While .Execute
      Do While r.HighlightColorIndex = wdUndefined
        r.MoveEnd Unit:=wdCharacter, Count:=-1
      Loop
      If r.HighlightColorIndex = wdBlue Then
        r.Delete
      End If
    Loop
  End With

End Sub

33 / 306 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
206491
(SS)C-BOARD v3.8 is Free