Word'de alternatif başlık stilleri oluşturma


4

Word belgesini, başlarında kenarlıklı, ancak sayfa genişliğinin tamamı için değil, başlıklarla stillendirmek istiyorum.

Buna benzer bir şey: Sınırdaki başlık, sola yaslanmış

İşin püf noktası, tek sayfalarda başlığın sol yerine sağa hizalanmasını istiyorum.

Kenarlıklı başlık, sağa hizalı

Tabii, iki stilim olabilirdi, sola ve sağa hizalı olarak solabilirim ... ama sonra hangi sayfada olduğum konusunda dikkatli olmalıyım ve içeriği başka bir sayfaya katan içerik eklediğimde tüm stilleri değiştirmek zorunda kalacağım .

Sayfaya bağlı olarak stilleri belirlememe izin veren bir yol var mı? Başlıklarla yapmak kolaydır, içerik için bir yol olduğuna eminim.


Sorununuz sınırı nasıl oluşturuyor mu (ve gölgelemeyi mi istiyorsunuz, yoksa soruyu soracağınız sorunu vurgulamak mı istiyorsunuz?) Ya da sadece biçimin nasıl / teke bağımlı hale getirileceği?
fixer1234

Biçimi çift / tek bağımlı hale getiriyor. Görüntüler sadece soruyu netleştirmek için burada.
Gimly

Yanıtlar:


1

Başlıkları istediğiniz gibi ayarlamak için kullanabileceğiniz hiçbir özelliğin farkında değilim, alternatif bir seçenek de makro olabilir.

Aşağıdaki kod bir dokümanın tüm paragraflarından geçer ve her biri için başlık stiline sahip (anahat düzeyi 1'e eşit veya daha büyük olarak ayarlanır) sayfa numarasına göre hizalamalar ve dikey kenarlıklar ayarlar.

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  

Makroyu çalıştırma:

  • ikisini de yerleştirebilirsin
    • normal.dotm içinde
    • Bu biçimlendirmeye sahip olmak istediğiniz belgelerde
    • Başlık stillerini tanımladığınız bir şablon dosyası oluşturabilir ve ayrıca bu makroyu yerleştirebilirsiniz.
  • Makro için gerekli olduğunu düşündüğünüzde çalıştırması için bir kısayol tuşu atayabilirsiniz
  • Makroyu yazdırma / kaydetmeden önce otomatik olarak çalışacak şekilde de ayarlayabilirsiniz, yararlı rehberlik buradadır (uyarı: makronuzu bu şekilde ayarlarsanız ve normal.dotm içinde bulunursa kaydettiğiniz / yazdırdığınız tüm dosyaları biçimlendirir!)

Ek not: Bu makro artık, hedeflerinize bağlı olarak değiştirmek isteyebileceğiniz, anahat seviyesinin boş olmadığı tüm paragrafların formatını değiştiriyor. Stil adlarının yerine Stil adlarını kontrol etmek (örn. If Left(.Style,7)="Heading") Bariz bir çözüm olabilir, ancak stil adlarının dile bağlı olması nedeniyle diğer dillerde çalışmaz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.