【发布时间】:2020-07-05 01:34:31
【问题描述】:
是否可以创建 Word 2003 宏来更改文档某些部分的字体样式?
例如,假设我有一个文档,其中大部分文本为粗斜体和 12 磅字体。我想用带下划线的 14 点字体替换所有具有这些特征的文本。
我已经在 Google、StackOverflow 和 Microsoft's website 上进行了一些搜索,但我无法找到任何可以讨论的内容。
有什么帮助吗?
【问题讨论】:
是否可以创建 Word 2003 宏来更改文档某些部分的字体样式?
例如,假设我有一个文档,其中大部分文本为粗斜体和 12 磅字体。我想用带下划线的 14 点字体替换所有具有这些特征的文本。
我已经在 Google、StackOverflow 和 Microsoft's website 上进行了一些搜索,但我无法找到任何可以讨论的内容。
有什么帮助吗?
【问题讨论】:
是的,你会想要使用 .Find 对象和它的子 .Replacement 内容。您可以在Selection(有限运行)、Range(段落、故事等)或整个文档上执行此操作。下面的示例适用于整个文档 (ActiveDocument.Content)。
Sub FindReplaceStyle()
With ActiveDocument.Content.Find
.ClearFormatting
With .Font
.Bold = True
.Size = 14
.Italic = True
End With
.Format = True
With .Replacement
.ClearFormatting
With .Font
.Bold = False
.Italic = False
.Underline = wdUnderlineSingle
.Size = 12
End With
End With
.Execute Forward:=True, Replace:=wdReplaceAll, _
FindText:="", ReplaceWith:=""
End With
End Sub
【讨论】:
与往常一样,Word 的宏记录器可以提供很大帮助:
Selection.Find.ClearFormatting
With Selection.Find.Font
.Size = 12
.Bold = True
.Italic = True
End With
Selection.Find.Replacement.ClearFormatting
With Selection.Find.Replacement.Font
.Size = 14
.Bold = False
.Italic = False
.Underline = wdUnderlineSingle
End With
With Selection.Find
.Text = ""
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindContinue
.Format = True
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
(要生成宏启动宏记录器,按Ctrl+H打开查找和替换,然后指定适当的查找格式和替换格式)
【讨论】: