Tôi không biết bất kỳ tính năng nào bạn có thể sử dụng để đặt tiêu đề khi bạn cần, tùy chọn thay thế có thể là một macro.
Mã bên dưới đi qua tất cả các đoạn của tài liệu và đối với mỗi đoạn có kiểu tiêu đề (mức phác thảo được đặt lớn hơn hoặc bằng 1), nó đặt sự sắp xếp và viền dọc theo số trang.
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
Chạy macro:
- bạn có thể đặt nó
- trong bình thường của bạn
- trong các tài liệu bạn muốn có định dạng này
- bạn có thể tạo một tệp mẫu nơi bạn xác định kiểu tiêu đề và cũng đặt macro này
- bạn có thể gán một phím nóng cho macro để chạy nó khi bạn nghĩ cần thiết
- bạn cũng có thể đặt macro chạy tự động trước khi in / lưu, hướng dẫn hữu ích là đây (cảnh báo: nếu bạn đặt macro theo cách này và nó nằm trong normal.dotm thì nó sẽ định dạng tất cả các tệp bạn lưu / in!)
Lưu ý bổ sung: macro này hiện thay đổi định dạng của tất cả các đoạn trong đó mức phác thảo không trống, tùy thuộc vào mục tiêu của bạn mà bạn có thể muốn thay đổi. Kiểm tra tên Kiểu thay vì mức phác thảo (ví dụ: If Left(.Style,7)="Heading"
) sẽ là một giải pháp rõ ràng, tuy nhiên sẽ không hoạt động trong các ngôn ngữ khác vì tên kiểu phụ thuộc vào ngôn ngữ.