0

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

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

我只需要一些帮助来选择文档中的所有项目符号。

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
4

3 回答 3

2

像这样?您必须在循环内部而不是在循环外部设置样式。

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
于 2012-08-16T06:07:23.160 回答
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
于 2012-10-24T09:34:37.123 回答
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

问候, 苏里尔·梅塔

于 2015-09-07T10:18:37.530 回答