Word宏将子弹转换为简单文本

时间:2014-10-23 15:43:21

标签: vba ms-word word-vba

我正在寻找将Word文档中的项目符号转换为简单文本的方法。 E.g。

我有这种子弹:

a)->      Apple
b)->      Orange
c)->      Mangoes

我希望他们是这样的:

a)Apple
b)Oranges
c)Mangoes

我正在使用此代码,但它完全删除了子弹:

Dim oPara As Paragraph

    For Each oPara In ActiveDocument.Paragraphs()
       Set r = oPara.Range
        If r.ListFormat.RemoveNumbers = wdListBullet Then
            r.ListFormat.ApplyListTemplate _
            ListTemplate:=ListGalleries(wdNumberGallery) _
                .ListTemplates(1)
        End If
        Set r = Nothing
     Next 

1 个答案:

答案 0 :(得分:1)

ActiveDocument.ConvertNumbersToText你追求的是什么?

如果你不是在全球范围内这样做,它也可以在特定列表上运行。

ETA:看起来ConvertNumbersToText采用了NumberType参数(这不是F1提出的2010规范所记录的,但它是有效的)。也许默认值不适用于文档中的所有项目符号。三种可能性的组合可能有效。

ActiveDocument.ConvertNumbersToText(wdNumberParagraph) 'Preset numbers you can add to paragraphs by selecting a template in the Bullets and Numbering dialog box.
ActiveDocument.ConvertNumbersToText(wdNumberListNum) 'Default value for LISTNUM fields.
ActiveDocument.ConvertNumbersToText(wdNumberAllNumbers) 'Default value for all other cases.

我倾向于使用第一个,但你的情况可能会有所不同。