以编程方式将某个字体+大小更改为不同的字体+大小

时间:2014-11-25 02:15:57

标签: vba ms-word

我有一个ms-word文档,其中Helvetica 13.5是段落的主要字体。遗憾的是,它与文档中任何特定的预定义样式无关(文本已从网站复制到文档中)。另外,你会看到段落中嵌入了一些斜体字和一些“Courier New'”的字样。

我想要做的是浏览文档,查找具有单一字体/大小的文本片段。如果该文本是Helvetica 13.5,我想将其更改为Times New Roman 12.我不想更改嵌入式快递新版本。斜体字应保持斜体(但如果它的Helvetica / 13.5字体应该改变)

是否有"容易"这样做的方法?

由于

2 个答案:

答案 0 :(得分:0)

我不知道如何以编程方式执行此操作,但我知道Word具有基于格式化查找和替换的功能。这是你如何做到的:

  • 在Windows文档中,执行Ctrl-G,对于Mac执行Command-Option-G。这将拉出Go To窗口。
  • 选择替换标签
  • 在“替换”标签中,您应该看到Windows"更多>>",对于Mac a" v" (向下箭头)。点击该按钮,以获得额外的功能。
  • 现在点击底部的格式按钮选择您要查找的格式。
  • 要选择所需的新格式,请选择"替换为"文本字段然后执行与上一步相同的操作。您的选项应显示在相应的文本字段下方。
  • 准备好后,点击全部替换

注意:如果您希望替换仅匹配基于格式的文本

,请将文本字段保留为空

答案 1 :(得分:0)

 Sub Helv_to_TNR

 With ActiveDocument.Content.Find
.ClearFormatting
.Replacement.ClearFormatting
.Wrap = wdFindContinue
.format = True
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
.Text = ""
.Replacement.Text = ""
.Font.Size = 13.5
.Replacement.Font.Size = 11
.Font.Name = "Helvetica"
.Replacement.Font.Name = "Times New Roman"
.Execute Replace:=wdReplaceAll
end with

end sub