プロが教えるわが家の防犯対策術!

Word文書で、赤い文字だけを白文字に変更するマクロを作りたいと思い、マクロの記録機能で記録されたものを参考に以下のようなマクロを作りました。

With Selection.Find
.ClearFormatting
.Font.Color = wdColorRed
.Replacement.ClearFormatting
.Replacement.Font.Color = wdColorWhite
End With

このマクロには不都合がありまして、、、

1.カーソル位置より上方の赤文字は変更されない
2.テキストボックス内の赤文字も変更されない

ということで困っております。ヘルプもあちこち見ましたが、どうにもうまくいきません。どなたかご存知の方、解決方法についてアドバイスをいただければ幸いです。

A 回答 (1件)

Wordのマクロは、あまり、作ったことがありませんので、うまくなかったら


ご容赦ください。

Sub test()
 Dim rngWord As Range
 Dim shp As Shape
 Dim rng As Range
 '文字色の変更
 For Each rngWord In ActiveDocument.Words
  If rngWord.Font.Color = wdColorRed Then '赤
   rngWord.Font.Color = wdColorWhite '白
  End If
 Next rngWord
 'テキストボックスの中の文字色の変更
 For Each shp In ThisDocument.Shapes
  If shp.AutoShapeType = msoShapeRectangle Then
   For Each rng In shp.TextFrame.ContainingRange.Characters
    If rng.Font.Color = wdColorRed Then '赤
     rng.Font.Color = wdColorWhite '白
    End If
   Next rng
  End If
 Next
End Sub
    • good
    • 0
この回答へのお礼

ありがとうございました。
テキストボックス内もしっかり変換できました。

お礼日時:2005/03/18 16:53

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A