Tạo các kiểu tiêu đề xen kẽ trong Word


4

Tôi muốn tạo kiểu tài liệu Word với các tiêu đề có viền xung quanh chúng, nhưng không phải cho toàn bộ chiều rộng của trang.

Một cái gì đó tương tự như thế này: Heading in border, left aligned

Thủ thuật là, trên các trang lẻ, tôi muốn tiêu đề được căn chỉnh ở bên phải thay vì bên trái.

Heading in border, right aligned

Chắc chắn tôi có thể có hai kiểu, căn trái và căn phải ... nhưng sau đó tôi phải cẩn thận trên trang nào và phải thay đổi tất cả các kiểu khi tôi thêm nội dung chuyển nội dung sang trang khác .

Có cách nào cho phép tôi đặt kiểu tùy theo trang không? Thật dễ dàng để làm với các tiêu đề, tôi chắc chắn có một cách cho nội dung.


Vấn đề của bạn là làm thế nào để tạo đường viền (và bạn muốn tô bóng hay đó chỉ là để làm nổi bật vấn đề trong câu hỏi), hay chỉ là làm thế nào để định dạng phụ thuộc chẵn / lẻ?
fixer1234

Nó làm cho định dạng chẵn / phụ thuộc lẻ. Những hình ảnh ở đây chỉ để làm rõ câu hỏi.
Gimly

Câu trả lời:


1

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ữ.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.