我想为 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"
)将是一个明显的解决方案,但这在其他语言中不起作用,因为样式名称依赖于语言。