如何在字宏中选择多个项目符号列表

时间:2012-08-16 05:19:31

标签: vba ms-word word-vba

我正在尝试在大量文字doc中找到项目符号列表的所有实例,并根据我们的公司品牌为其分配样式。

我已经非常接近,下面的宏选择了选择中第一个项目符号列表中的第一行,并为其指定了我需要的样式。

我只需要一些帮助就可以选择doc中的所有项目符号。

Sub findbullets22()
    'findbullets22 Macro
    Dim oPara As Word.Paragraph
    With Selection
        For Each oPara In .Paragraphs
            If oPara.Range.ListFormat.ListType = _
            WdListType.wdListBullet Then
                oPara.Range.Select
            End If
        Next
    End With
    Selection.Style = ActiveDocument.Styles("List Paragraph")
End Sub

3 个答案:

答案 0 :(得分:1)

喜欢这个?你必须在循环内设置样式而不是循环外。

Sub findbullets22()
    Dim oPara As Word.Paragraph

    With Selection
        For Each oPara In .Paragraphs
            If oPara.Range.ListFormat.ListType = WdListType.wdListBullet Then
                oPara.Range.Style = ActiveDocument.Styles("List Paragraph")
                DoEvents
            End If
        Next
    End With
End Sub

答案 1 :(得分:1)

这可能会对您有所帮助:

With seletion
     For Each oPara In ActiveDocument.Paragraphs
         If oPara.Range.ListFormat.ListType = WdListType.wdListBullet Then
            oPara.Range.Select
            oPara.style = ActiveDocument.styles("List Paragraph")
         End If
     Next
End With

答案 2 :(得分:0)

下面是一个选择所有项目符号的宏:

Sub SelectBullets()
On Error Resume Next
Dim Para As Word.Paragraph
With ActiveDocument
    .DeleteAllEditableRanges (-1)
    For Each Para In .Paragraphs
        If Para.Range.ListFormat.ListType > 0 Then
            Para.Range.Editors.Add (-1)
        End If
    Next
    .SelectAllEditableRanges (-1)
    .DeleteAllEditableRanges (-1)
End With
End Sub

选择后,您可以统一修改所有项目符号。

Para.Range.ListFormat.ListType> 0 - 此命令指定要选择每种类型的项目符号或编号列表。 Para.Range.Editors.Add(-1) - 此命令将相关选择添加到范围 .SelectAllEditableRanges(-1) - 此命令选择添加的所有范围

有关其他有用的字词宏,请访问我的视频,网址为以下链接 https://youtu.be/p_ZhufliFw8

此致 Suril Mehta