微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将所有大写文本替换为小写字母和wdTitleSentence

如何解决将所有大写文本替换为小写字母和wdTitleSentence

在过去的两天里,我一直在解决这个问题,但找不到解决方法我有一个文档(400页),其中我想将所有大写单词替换为SmallCaps,并将文本设置为“标题句子”。 注册宏时,发现了所需的命令:

Selection.Range.Case = wdTitleSentence
Selection.Font.SmallCaps = wdToggle

问题是我找不到将这些命令仅应用于大写单词而不应用于所选文本的方法

解决方法

您可以尝试使用通配符搜索,尽管您需要小心以其他方式指定它,否则您可以将文档中的每个大写字母更改为小写。

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 Sub

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。