首页 > 解决方案 > 将宏运行到特定样式

问题描述

下面的代码试图将小写的单词转换为大写。但是,我只需要以特定的文字样式(“普通”)运行它。我试图将 doc 设置为 ActiveDocument.Styles("Normal") 但我不断收到错误。任何帮助都是最有帮助的。先感谢您。

Option Explicit

   Public Sub TitleCaseDocument()
   Dim doc As Document: Set doc = ActiveDocument.Styles("Normal")
   Dim wrd As Range

   For Each wrd In doc.Words
       If wrd.Text <> UCase$(wrd.Text) Then wrd.Case = wdTitleWord
Next
End Sub

标签: vbams-wordstyles

解决方案


那么,如果样式正常,您是否要将小写字母更改为大写字母?是的?我对单词没有丰富的经验,但也许这样的东西可以帮助你(基于你的代码):

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

   For Each wrd In doc.Words

       If wrd.Text <> UCase$(wrd.Text) And wrd.Style = "Normal" Then
       wrd.Text = UCase$(wrd.Text)

       End If
Next
End Sub

推荐阅读