VBA Word:应用多段落格式
我正试图在Word上编写我的第一个(希望是最后一个)宏,但我已经走到了死胡同。由于我经常在Word和Word Online之间工作,格式往往会改变,因此我需要创建一个宏,以避免手动重新调整它的麻烦 我的问题是,我需要根据所使用的字体在正文文本上使用不同的间距(对于Arial,间距在6之前,对于Courier New,我们用于代码间距在0之前)。我曾尝试使用宏录制器和替换函数创建代码,但录制器给了我一个通用代码,它没有指定我需要的字体(尽管我选择了它),所以当我运行这两个函数时,我最终都使用了Arial格式。这是我收到的新快递的代码:VBA Word:应用多段落格式,vba,macros,ms-word,Vba,Macros,Ms Word,我正试图在Word上编写我的第一个(希望是最后一个)宏,但我已经走到了死胡同。由于我经常在Word和Word Online之间工作,格式往往会改变,因此我需要创建一个宏,以避免手动重新调整它的麻烦 我的问题是,我需要根据所使用的字体在正文文本上使用不同的间距(对于Arial,间距在6之前,对于Courier New,我们用于代码间距在0之前)。我曾尝试使用宏录制器和替换函数创建代码,但录制器给了我一个通用代码,它没有指定我需要的字体(尽管我选择了它),所以当我运行这两个函数时,我最终都使用了Ar
Sub FormatBodyCode()
Application.ScreenUpdating = False
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find.Replacement.ParagraphFormat
.SpaceBefore = 0
.SpaceBeforeAuto = False
.SpaceAfter = 0
.SpaceAfterAuto = False
.LineSpacingRule = wdLineSpaceMultiple
.LineSpacing = LinesToPoints(1.15)
.Alignment = wdAlignParagraphLeft
.OutlineLevel = wdOutlineLevelBodyText
.LineUnitBefore = 0
.LineUnitAfter = 0
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
Application.ScreenUpdating = True
End Sub
如何指定字体以使其正常工作?一次快速代码更改应限制对单个字体的搜索:
...
With Selection.Find
...
.Format = True
.Font.Name = "Courier New" ' <== Add this - Or whatever font you want
...
。。。
选择。查找
...
.Format=True
.Font.Name=“Courier New”'希望不是最后一个!欢迎来到这个网站!查看更多关于提问的信息,这些问题将吸引高质量的答案。就这么简单,是吗?我仍然不明白为什么它没有包括在录音机虽然。