【问题标题】:Word 2013 VB script to loop through document and change stylesWord 2013 VB 脚本循环遍历文档和更改样式
【发布时间】:2012-11-30 20:52:41
【问题描述】:

我需要一个脚本,它可以遍历 word 文档,并将标题样式或图像之后的段落样式更改为自定义样式,而无需首行缩进。

如何循环浏览 Word 文档中的段落/标题/项目?我如何获得风格?之后如何设置样式?

目标很简单:我希望段落的第一行缩进,但如果段落跟随标题行或图像则不缩进。而且由于这是一个很大的文档,而且我经常收到这些文档,因此我想要某种自动化,而不是尝试手动执行此操作。
所以我想编写一个脚本,它遍历段落并将样式从“段落”更改为“没有缩进的段落”,当它位于标题样式或图像之后。

【问题讨论】:

    标签: vba ms-word


    【解决方案1】:

    这里有一些基本代码可以帮助您从这里开始。不幸的是,Paragraph.Style 参数不区分文本和图像,但您可以检查Paragraph.Range 对象是否有任何InlineShapes,即图像。

    Sub indentParas()
        Dim doc As Document
        Set doc = ActiveDocument
        Dim para As Word.Paragraph
        Dim i As Boolean
        i = False
        For Each para In doc.Paragraphs
    
            If i = False Then
                para.IndentCharWidth 4
            End If
    
            If para.Range.InlineShapes.Count > 0 Then
                i = True
            ElseIf Left(para.Style, 7) = "Heading" Then
                i = True
            Else
                i = False
            End If
        Next
    End Sub
    

    注意:这是在 Word 2010 中测试的。

    【讨论】:

    • 啊,是的,这是创建我的解决方案的一个很好的起点,谢谢!!
    猜你喜欢
    • 2013-11-07
    • 2013-01-26
    • 1970-01-01
    • 1970-01-01
    • 2019-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多