如何使用Word文档中的VBA宏更改字体大小,不包括标题,子标题,TOC,标题

时间:2017-12-14 07:17:54

标签: vba ms-word word-vba

我的场景是我想要更改内容正文的字体大小,不包括标题,标题,子标题,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吗?

1 个答案:

答案 0 :(得分:0)

如果您确定样式Normal已应用于文档,并且您想要更改Normal样式的那些部分的字体属性,则可以在{{1}中指定样式如下所示:

Find

同样ActiveDocument.Content.Find.Style = ActiveDocument.Styles("Normal")将删除文档中的所有匹配文字。确保使用.Replacement.Text = "".Replacement.Text = "^&"将替换找到的相同文本。

^&