在过去的两天里,我一直困在这个问题上,我找不到克服它的方法。我有一个文档(400页),其中我想将所有大写单词替换为SmallCaps,并将文本设置为“标题句”。当我注册宏时,我找到了我需要的命令:
Selection.Range.Case = wdTitleSentence
Selection.Font.SmallCaps = wdToggle问题是,我无法找到一种方法,只将这些命令应用于大写单词,而不应用于选定的文本。
发布于 2020-09-19 12:53:52
您可以尝试使用通配符搜索,但您需要注意如何指定它,否则您可以将文档中的每个大写字母更改为小写。
Sub ConvertUpperCase()
Dim findRange As Range
Set findRange = ActiveDocument.Content
With findRange.Find
.ClearFormatting
'find at least two consecutive capital letters
.Text = "[A-Z]{2,}"
.MatchWildcards = True
Do While .Execute = True
With findRange
.Case = wdTitleSentence
.Font.SmallCaps = True
.Collapse wdCollapseEnd
End With
Loop
End With
End Subhttps://stackoverflow.com/questions/63968751
复制相似问题