在 Word 中创建交替标题样式

在 Word 中创建交替标题样式

我想为 Word 文档设置标题的样式,标题周围有边框,但不占据整个页面宽度。

与此类似: 标题位于边框内,左对齐

诀窍是,在奇数页上,我希望页眉对齐在右侧而不是左侧。

标题位于边框内,右对齐

当然,我可以有两种样式,左对齐和右对齐...但是我必须小心我所在的页面,并且当我添加将内容转移到另一个页面的内容时,必须更改所有样式。

有没有办法让我根据页面设置样式?使用标题很容易,我相信内容也有办法。

答案1

我不知道您可以使用任何功能来根据需要设置标题,备用选项可能是宏。

下面的代码遍历文档的所有段落,并为每个具有标题样式(大纲级别设置大于或等于 1)的段落根据页码设置对齐方式和垂直边框。

Sub alignHeaders()
    Dim i As Integer
    Dim p As Paragraph
    Dim IndentAmount As Single

    IndentAmount = CentimetersToPoints(10) 

    Application.ScreenUpdating = False

    For Each p In ActiveDocument.Paragraphs
        With p
            If .OutlineLevel <> wdOutlineLevelBodyText Then
                If .Range.Information(wdActiveEndAdjustedPageNumber) Mod 2 = 1 Then
                    With .Range.ParagraphFormat
                        .LeftIndent = 0
                        .RightIndent = IndentAmount
                        .Borders(wdBorderLeft).LineStyle = wdLineStyleNone
                        .Borders(wdBorderRight).LineStyle = wdLineStyleSingle
                    End With
                Else
                    With .Range.ParagraphFormat
                        .RightIndent = 0
                        .LeftIndent = IndentAmount
                        .Borders(wdBorderLeft).LineStyle = wdLineStyleSingle
                        .Borders(wdBorderRight).LineStyle = wdLineStyleNone
                    End With
                End If
            End If
        End With
    Next p

    Application.ScreenUpdating = True
End Sub  

运行宏:

  • 你可以把它
    • 在你的 normal.dotm 中
    • 在您希望采用这种格式的文档中
    • 您可以创建一个模板文件,在其中定义标题样式并放置此宏
  • 您可以为宏指定一个热键,以便在您认为必要时运行它
  • 您还可以设置在打印/保存之前自动运行的宏,有用的指导是这里(警告:如果您以这种方式设置宏并且它位于 normal.dotm 中,那么它将格式化您保存/打印的所有文件!)

附加说明:此宏现在更改大纲级别不为空白的所有段落的格式,根据您的目标,您可能需要更改它。检查样式名称而不是大纲级别(例如If Left(.Style,7)="Heading")将是一个明显的解决方案,但这在其他语言中不起作用,因为样式名称依赖于语言。

相关内容