Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
List 通过VBA查找所有列表项_List_Vba_Ms Word_Word 2007 - Fatal编程技术网

List 通过VBA查找所有列表项

List 通过VBA查找所有列表项,list,vba,ms-word,word-2007,List,Vba,Ms Word,Word 2007,我正在尝试设置一个发布到网站的文档,因此需要在列表项之前和之后添加一些HTML标记。然而,它并没有把清单上的项目拣起来。有人能帮忙吗?谢谢 sub format_list() Dim para as Paragraph Dim is_list_item as Boolean is_list_item = False For Each para In ActiveDocument.Para

我正在尝试设置一个发布到网站的文档,因此需要在列表项之前和之后添加一些HTML标记。然而,它并没有把清单上的项目拣起来。有人能帮忙吗?谢谢

    sub format_list()

            Dim para as Paragraph
            Dim is_list_item as Boolean

            is_list_item = False

            For Each para In ActiveDocument.Paragraphs

                    If para.Range.ListFormat.ListType = WdListType.wdListBullet Then

                            is_list_item = True
                            para.Range.InsertBefore "<li>"
                            para.Range.InsertAfter "</li>"

                    End If

            Next

    End Sub
子格式_列表()
将段落改为段落
Dim是作为布尔值的\u列表\u项
is_list_item=False
对于ActiveDocument中的每个段落。段落
如果para.Range.ListFormat.ListType=WdListType.wdListBullet,则
列表项是否为真
段落Range.InsertBefore“
  • ” 段落Range.InsertAfter“
  • ” 如果结束 下一个 端接头
    尝试在“”

    para.Range.Select
    Selection.EndKey单位:=wdLine
    Selection.TypeText文本:=“”
    
    谢谢@Zaider,但问题是它没有意识到段落是一个列表项(
    para.Range.ListFormat.ListType=WdListType.wdlistbill
    ),所以它甚至没有达到你提到的位置。你是如何创建列表的?我只需单击Home选项卡段落部分中的Bullet选项就创建了一些,您的代码可以很好地拾取它们。尝试在您的For Each line下添加
    Debug.Print para.Range.Text
    ,当它给出您的列表值时,检查
    如果para.Range.ListFormat.ListType
    的值是多少。结果是,我的代码在进入此步骤之前将样式更改为“Normal”,因此它无法工作。当我意识到这一点时,我做了一个改变,它确实起了作用!谢谢。我注意到
    is\u list\u item
    变量在代码中不起任何作用,因此是多余的,对吗?或者,我错过了什么?
    para.Range.Select
    Selection.EndKey Unit:=wdLine
    Selection.TypeText Text:="</li>"