如何使用VBA向Microsoft Word中的空项目符号添加文本?

问题描述 投票:0回答:1

我正在尝试将文本添加到word文档中的空格式化项目符号点,但是我似乎无法找到任何成功的方法。我不是很擅长VBA,我只是用它来自动化reoccuring报告。

这是我用来查找和替换文本的VBA sub的格式,我只是找不到调整添加到项目符号的方法:

Private Sub FixedReplacements()
Dim Rng As Range
Dim SearchString As String
Dim EndString As String
Dim Id As String
Dim Link As String

Set Rng = ActiveDocument.Range

    Rng.Find.ClearFormatting
    Rng.Find.Replacement.ClearFormatting
    With Rng.Find
        .Text = ""
        .Replacement.Text = ""
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Rng.Find.Execute Replace:=wdReplaceAll

End Sub

我为空子弹点设定的目标是让他们按照“没有进一步的信息”的方式展示一些东西。 <<只是一个例子。

vba ms-word
1个回答
0
投票

如何做到这一点在很大程度上取决于如何插入子弹。没有办法专门搜索子弹本身。评论提到

项目符号点是直接在单词中找到的格式化的项目符号。

在这种情况下,默认设置是使用List Paragraph样式格式化段落。如果是这种情况,那么Find可以使用该样式搜索段落。然后,问题中的Find代码如下所示。 (另请注意FormatWrap属性的更改。)

With Rng.Find
    .Text = "^p"
    .Replacement.Text = "No further information.^p"
    .Forward = True
    .Style = "List Paragraph"
    .Wrap = wdFindStop
    .Format = True
    .MatchCase = False
    .MatchWholeWord = False
    .MatchWildcards = False
    .MatchSoundsLike = False
    .MatchAllWordForms = False
End With

如果已使用其他样式来应用项目符号,则可以搜索该样式名称。请记住,样式名称区分大小写。

“文件/选项/高级”,“编辑选项”部分中有一个选项:对项目符号列表或编号列表使用“常规”样式。如果这已被激活,那么事情变得非常困难。您可以做的最好是尝试匹配应用的段落格式(缩进等)。

© www.soinside.com 2019 - 2024. All rights reserved.