Tworzę dokument Word za pomocą VBA i muszę tylko edytować nagłówek/stopki. Kiedy uruchamiam VBA poniżej, stopka jest wyśrodkowana... jak ją wyrównać do prawej? Dzięki!

With ActiveDocument.Sections(1)
.Headers(wdHeaderFooterPrimary).range.Text = DocName
.Headers(wdHeaderFooterPrimary).range.Font.Name = "Arial"
.Headers(wdHeaderFooterPrimary).range.Font.size = 9
.Footers(wdHeaderFooterPrimary).range.Text = Format(Date, "Long Date") 
.Footers(wdHeaderFooterPrimary).range.Font.Name = "Arial"
.Footers(wdHeaderFooterPrimary).range.Font.size = 9
End With
3
Marshall Gu 16 listopad 2018, 17:31

1 odpowiedź

Najlepsza odpowiedź

Istnieje więcej niż jeden sposób formatowania zawartości stopki...

  1. Najbardziej „poprawnym” sposobem byłaby zmiana definicji stylu stopki. Obejmuje to formatowanie czcionki, które kod w pytaniu stosuje bezpośrednio.

Na przykład:

With ActiveDocument.Styles("Footer")
  .Font.Name = "Arial"
  .Font.Size = 9
  .ParagraphFormat.Alignment = wdAlignParagraphRight
End With
  1. Jeśli formatowanie ma być zastosowane bezpośrednio, można po prostu zastosować bezpośrednio właściwe wyrównanie:

Przykład na podstawie kodu w pytaniu

.Footers(wdHeaderFooterPrimary).range.ParagraphFormat.Alignment = wdAlignParagraphRight
  1. Domyślny styl stopki ma zdefiniowane trzy tabulatory: wyrównany do lewej, wyśrodkowany i wyrównany do prawej. Pozwala to na wyrównanie treści na stronie. Aby tego użyć, pozostaw wyrównanie akapitu poza (1) lub (2) i umieść dwa znaki TAB (vbTab) na początku ciągu zapisywanego w stopce:

Przykład na podstawie kodu w pytaniu

.Footers(wdHeaderFooterPrimary).range.Text = vbTab & vbTab & Format(Date, "Long Date") 
2
Cindy Meister 16 listopad 2018, 20:28