我的场景是我想改变内容体的字体大小,不包括标题,标题,子标题,TOC使用VBA宏,只是意味着使用宏更改字体实际内容体(正常样式应用于实际内容)
这是我的VBA代码:
Private Sub Document_Open()
With ActiveDocument.Content.Find
.ClearFormatting
.Replacement.ClearFormatting
.Forward = True
.Wrap = wdFindContinue
.Format = True
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
.Text = ""
.Replacement.Text = ""
.Execute Replace:=wdReplaceAll
.ClearFormatting
.Replacement.ClearFormatting
.Font.Name = "Arial"
.Replacement.Font.Name = "Calibri"
.Execute Replace:=wdReplaceAll
.ClearFormatting
.Replacement.ClearFormatting
.Font.Name = "Times New Roman"
.Replacement.Font.Name = "Calibri"
.Execute Replace:=wdReplaceAll
.ClearFormatting
.Replacement.ClearFormatting
.Font.Size = 11
.Replacement.Font.Size = 10
.Execute Replace:=wdReplaceAll
End With
End Sub
使用此代码,整个文档字体大小正在改变,但字体名称仅使用上面的宏来改变实际内容。
是否可以使用VBA宏来更改文档的实际内容?
你能建议我怎样才能用VBA Macro做到这一点?
如果您确定样式Normal
应用于文档并且您想要使用Normal
样式更改这些部件的字体属性,则可以在Find
中指定样式,如下所示:
ActiveDocument.Content.Find.Style = ActiveDocument.Styles("Normal")
。
此外,.Replacement.Text = ""
将从您的文档中删除所有匹配的文本。确保你使用.Replacement.Text = "^&"
。 ^&
将替换找到的相同文本。
Sub FormatNormal()
With ActiveDocument.Content.Find
.ClearFormatting
.Style = ActiveDocument.Styles("Normal")
.Text = ""
.Replacement.Text = "^&"
.Replacement.Font.Size = 10
.Replacement.Font.Name = "Calibri"
.Replacement.ClearFormatting
.Forward = True
.Wrap = wdFindContinue
.Format = True
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
.Execute Replace:=wdReplaceAll
End With
End Sub