微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 MS Word 中使用 VBA 确定表格单元格中的段落是编号还是项目符号?

如何解决如何在 MS Word 中使用 VBA 确定表格单元格中的段落是编号还是项目符号?

我需要查找表格中带项目符号或编号的段落。如何在 MS Word 文档中使用 VBA 做到这一点?我试过遍历每个段落:

For Each DocPara In ActiveDocument.Paragraphs
  Set rngPara = DocPara.Range
  If rngPara.Tables.Count > 0 Then
     Set lRange = rngPara.Tables.Item(1).Cell(1,1).Range
    'How to test if cell contents has pargraph(s) that are bulleted or numbered?
  End if
Next DocPara

解决方法

由于您只对表格中的项目符号或编号段落感兴趣,因此循环浏览文档中的所有段落效率很低。而是遍历所有表格并遍历每个表格中的段落。

Dim para As Paragraph
Dim tbl As Table

For Each tbl In ActiveDocument.Tables
    For Each para In tbl.Range.Paragraphs
        With para.Range
            If Len(.ListFormat.ListString) > 0 Then
                'para is part of a list
            End If
        End With
    Next para
Next tbl

如果您必须处理文档的所有段落,则有一种更好的方法可以确定某个段落是否在表格中。

For Each DocPara In ActiveDocument.Paragraphs
  With DocPara.Range
    If .Information(wdWithInTable) Then
      'para is in table
    End if
  End With
Next DocPara
,
For Each DocPara In ActiveDocument.Paragraphs
    Set rngPara = DocPara.Range
    If rngPara.Tables.Count > 0 Then
        If Not rngPara.ListFormat.List Is Nothing Then
            'is a list?
            Debug.Print rngPara.ListFormat.ListString
        End If
    End If
Next DocPara

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。