如何编写VBA来格式化以Word 2016开头的句子?

时间:2016-08-23 01:32:17

标签: vba ms-word word-vba

我使用的是400页以上的编码手册,不幸的是关闭了手册中所有注释的绿色。我无法撤消它,因为我没有注意到它,直到为时已晚。它毁了多年的工作。

如何编写VBA来解析文件,找到以//开头并以段落标记结尾的句子并更改它们的颜色?或者为他们分配一种风格?

这是我拼凑起来的一个开始,我很佩服那些可以无需智慧地编写代码的人,就像试图找到被蒙住眼睛的方式一样

    Dim oPara As Word.Paragraph
    Dim rng As Range
    Dim text As String

    For Each oPara In ActiveDocument.Paragraphs
     If Len(oPara.Range.text) > 1 Then
           Set rng = ActiveDocument.Range(oPara.Range.Start,oPara.Range.End)

    With rng.Font
            .Font.Color = wdColorBlue
    End With
     End If
    Next
  End Sub

1 个答案:

答案 0 :(得分:1)

以下似乎有效:

Dim oPara As Word.Paragraph
Dim text As String

For Each oPara In ActiveDocument.Paragraphs
   text = oPara.Range.text
   'Check the left 2 characters for //
   If Left(oPara.Range.text, 2) = "//" Then
     oPara.Range.text = "'" & text
   End If
Next

我假设你正在使用VBA,所以在它前面放置一个'它会将绿线变为绿色。如果需要,您可以修改代码以替换//。 opera.range.text应该抓住整个段落。