You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Word 2016 VBA宏问题:无法按Courier New字体查找替换文本

Word VBA查找指定字体文本失败的解决方法

你的宏无法生效的核心原因是未启用格式查找功能,Word的Find对象默认忽略格式设置,必须显式开启.Format = True,否则你设置的.Font.Name不会被纳入查找条件。

修正后的代码

Sub test()
    Dim selRange As Range
    Set selRange = Selection.Range
    With selRange.Find
        .ClearFormatting
        .Replacement.ClearFormatting
        .Text = "C"
        .Format = True ' 开启格式查找,这是关键
        .Font.Name = "Courier New"
        Debug.Print .Text & " Font: " & .Font.Name
        .Replacement.Text = "G"
        .Execute Replace:=wdReplaceAll
        Debug.Print .Found
    End With
End Sub

关键说明

  • .Format = True:必须开启该属性,告诉Word要基于格式进行查找匹配,否则字体等格式设置不会生效。
  • 修正后,宏会准确识别选中内容中Courier New字体的"C",将其替换为"G",而Arial字体的"C"不会被修改。
  • 此时Debug输出会显示C Font: Courier New,.Found也会返回True,符合预期。

内容的提问来源于stack exchange,提问作者user2605793

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 07:52:04