Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.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
Xml 使用VBA宏识别项目符号列表的样式类型_Xml_Vba_Ms Word - Fatal编程技术网

Xml 使用VBA宏识别项目符号列表的样式类型

Xml 使用VBA宏识别项目符号列表的样式类型,xml,vba,ms-word,Xml,Vba,Ms Word,我必须编写一个VBA宏来识别和删除已应用于项目符号列表中项目符号的样式类型 在下面的document.xml部分中,我们应用了样式类型为“italic”的项目符号 <w w:rsidR="000450E5" w:rsidRPr="00A4560A" w:rsidRDefault="000450E5" w:rsidP="0009336F"> <w:pPr> <w:pStyle w:val="ListBullet"/>

我必须编写一个VBA宏来识别和删除已应用于项目符号列表中项目符号的样式类型

在下面的document.xml部分中,我们应用了样式类型为“italic”的项目符号

<w w:rsidR="000450E5" w:rsidRPr="00A4560A" w:rsidRDefault="000450E5" w:rsidP="0009336F">
    <w:pPr>
        <w:pStyle w:val="ListBullet"/>
            <w:rPr>
            <w:i/>
            <w:lang w:val="es-ES"/>
        </w:rPr>
    </w:pPr>
    <w:r w:rsidRPr="00A4560A">
        <w:rPr>
            <w:lang w:val="es-ES"/>
        </w:rPr>
        <w:t xml:space="preserve">el marco legislativo y </w:t>
    </w:r>
有人能帮我识别并删除添加到项目符号中的样式类型吗。。
提前感谢。

以下代码查找具有ListBullet样式的每个段落,然后在段落末尾定义一个范围作为段落标记,然后删除斜体。段落标记存储更改项目符号的斜体格式

For Each objParagraph In objDocument.Paragraphs
    Set objRange = objParagraph.Range
    If objRange.ListFormat.ListType = wdListBullet Then
        objRange.Collapse Direction:=wdCollapseEnd
        objRange.MoveStart Unit:=wdCharacter, Count:=-1
        objRange.Font.Italic = False
    End If
Next objParagraph

尝试将列表添加到监视列表并查看属性?我无法识别xml代码第二块中的名称空间
tps
。这个词是来自标准docx文件的openxml吗?如果没有,是什么?w:i不是任何样式的名称—它是一个直接格式化命令,似乎是用户通过“项目符号”对话框对文档应用的。样式的名称是ListBullet,它的定义可以在docx zip文件的Styles.xml部分找到-您应该检查一下。样式类型是指样式是否为字符、段落、链接等样式,与此无关。@Cindymister对不起,我的错误。第二个块是文档的.cxml文件。我们有一个document-to-document.cxml转换器,它是.cxml中“”标记的输出file@CindyMeister“w:i不是任何样式的名称-它是一个直接格式化命令,似乎已由用户应用于文档,”:我们可以使用VBA宏识别此直接格式化吗?
For Each objParagraph In objDocument.Paragraphs
    Set objRange = objParagraph.Range
    If objRange.ListFormat.ListType = wdListBullet Then
        objRange.Collapse Direction:=wdCollapseEnd
        objRange.MoveStart Unit:=wdCharacter, Count:=-1
        objRange.Font.Italic = False
    End If
Next objParagraph