[Word VBA] 巨集裡的取代不能改文字顏色? - 返回 最初的純真性情 - udn部落格
返回 最初的純真性情
作家:ThisIsTheWay
文章分類
    Top
    [Word VBA] 巨集裡的取代不能改文字顏色?
    2009/03/04 20:38:27
    瀏覽:6596
    迴響:3
    推薦:0
    引用0
    Word 的 "取代" 功能不僅可以幫我們把找到的文字取代為指定的文字, 還可以把找到的文字改格式, 如改顏色、大小......等等。有位朋友用 "錄製巨集" 把這樣的動作錄下來, 卻發現錄下的巨集不會改文字的格式, 為什麼呢?

    我研究了一番, 原來, 錄下來的程式碼會像這樣:

    Sub 巨集10()
    '
    ' 巨集10 巨集
    ' 巨集錄製於 2009/3/2,錄製者 BigHead
    '
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
    .Text = "xxx"
    .Replacement.Text = "yyy"
    .Forward = True
    .Wrap = wdFindContinue
    .Format = True
    .MatchCase = False
    .MatchWholeWord = False
    .MatchByte = True
    .CorrectHangulEndings = False
    .MatchWildcards = False
    .MatchSoundsLike = False
    .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
    End Sub

    若要改顏色、改大小就需在 With Selection.Find ...... End With 之間添加底下這樣兩句:

    .Replacement.Font.ColorIndex = wdBlue    '字型顏色:藍色
    .Replacement.Font.Size = 14    '字型大小:14

    這應該是 Word 的 bug 吧?! (註: 我是用 2003 版測的)

    回應
    迴響(3) :
    3樓. TECK
    2010/06/12 21:36
    ABOUT TEXTBOX REPLACEMENT
    我試過不建巨集時,可以連文本框裏的字一起替換,但是建宏後,執行結果只能替換正文的文字,文本框裏無法替換!
    2樓. TECK
    2010/06/12 21:34
    ABOUT TEXTBOX REPLACEMENT

    我試過不建巨集時,可以連文本框裏的字一起替換,但是建宏後,執行結果只能替換正文的文字,文本框裏無法替換!

    1樓. glen
    2009/08/11 20:21
    請教問題

    您好:

    請問有大量不同字串要改變文字格式的巨集要如何寫

    雖然看了您另一篇"[Word VBA]如何用find\replace做大量不同字串的取代?"

    還是不知如何寫........

    發表迴響

    會員登入