相关文章推荐
正直的芹菜  ·  wps vba6.3 ...·  2 周前    · 
卖萌的小蝌蚪  ·  Secure an ASP.NET ...·  1 年前    · 
独立的熊猫  ·  pycharm ...·  1 年前    · 

office word利用VBA给指定的多个字符字体批量标红加粗
场景说明:比如我有一个英文的word文档,无需要把不认识的单词标成红色并且加粗,如果一个一个替换太麻烦,我想到用vba来实现 ,例如我要把abandon、abbreviation、abide、abiding、able、abnormal、aboard、abroad几个在文档中出现的单词标红加粗,我先定义一个字符strarr = "abandon |abbreviation |abide |abiding |able |abnormal |aboard |abroad " 单词用|线分割。
例子如下

Sub biaohong()
Dim strarr As String
strarr = "abandon |abbreviation |abide |abiding |able |abnormal |aboard |abroad "
a = Split(strarr, " ")
b = UBound(a)
  For i = 0 To b
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find.Replacement.Font
        .Bold = True
        .Color = wdColorRed
    End With
    With Selection.Find
        .Text = a(i)
        .Replacement.Text = a(i)
        .Forward = True
        .Wrap = wdFindAsk
        .Format = True
        .MatchCase = False
        .MatchWholeWord = False
        .MatchByte = True
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
    Next i
End Sub
                    office word利用VBA给指定的多个字符字体批量标红加粗场景说明:比如我有一个英文的word文档,无需要把不认识的单词标成红色并且加粗,如果一个一个替换太麻烦,我想到用vba来实现 ,例如我要把abandon、abbreviation、abide、abiding、able、abnormal、aboard、abroad几个在文档中出现的单词标红加粗,我先定义一个字符strarr = "ab...
				
有同学反映,需要查找指定字符的前一个字符。根据此需求,大家可用录制宏操作一下查找某字符的操作,然后得到一些基本代码,在此基础上进行修改,得到具备相应功能的过程代码。最终代码如下: Sub findtext() Dim MyRange As Range, arr(), brr(), mytext$, tstr&, tend& Text = InputBox("请输入要查找的文本:"...
Set myRange = Range("A1") '指定任意的单元格区域 Set myFont = myRange.Font Cells.Clear '清除工作表数据 myRange.Value = "Ex... For Each char In para.Range.Characters ' 判断字符字体颜色是否为红色 If char.Font.Color = wdColorRed Then ' 输出红色字体的文本内容 Debug.Print char.Text End If Next char Next para ' 关闭 Word 文件 doc.Close End Sub 请注意,上述代码假设红色字体的颜色代码为 `wdColorRed`,如果你的 Word 文件中的红色字体使用了其他颜色代码,则需要相应地修改代码。另外,上述代码只处理了文本内容,如果需要处理其他类型的内容(如表格、图片等),则需要进一步扩展代码。