将除首字母缩略词外的所有单词转换为标题大小写
Convert all words to title case except for acronyms
想就如何在 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
如果 objective 是尚未完全大写的 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
想就如何在 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
如果 objective 是尚未完全大写的 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