0

大量のワードドキュメント内で箇条書きのすべてのインスタンスを見つけて、当社のブランドに従ってスタイルを割り当てようとしています。

私はかなり近づきました。次のマクロは、選択範囲の最初の箇条書きの最初の行を選択し、必要なスタイルを割り当てます。

ドキュメント内のすべての箇条書きを選択するには、助けが必要です。

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 に答える