0

想询问有关如何将句子转换为标题大小写的任何建议,Microsoft Word 中的首字母缩略词(或所有大写的单词)除外。目前我的代码只转换标题大小写中特定样式的所有句子。希望您能对此有所帮助。谢谢

Sub ChangeCase() StrFind = "K-1,K-2,K-3" 
      For i = 0 To UBound(Split(StrFind, ","))
     With Selection.Find
     .ClearFormatting
     .Wrap = wdFindContinue
     .Forward = True
     .Format = True
     .MatchWildcards = False
     .Text = ""
     .Style = Split(StrFind, ",")(i)
     .Execute
     While .Found
         Selection.Range.Case = wdTitleWord
         Selection.Collapse Direction:=wdCollapseEnd
        .Execute
     Wend
 End With
 Next i
 End Sub
4

1 回答 1

2

如果目标是尚未完全大写的 TitleCase 单词,我认为以下应该可行。

Option Explicit

Public Sub TitleCaseDocument()
    Dim doc As Document: Set doc = ThisDocument
    Dim wrd As Range

    For Each wrd In doc.Words
        If wrd.Text <> UCase$(wrd.Text) Then wrd.Case = wdTitleWord
    Next
End Sub
于 2020-04-14T17:28:12.590 回答