Um ein Leeren Absatz in der Fußzeile zu unterbinden, kann der Befehl BearbeiteWordDatei um diese Zeilen ergänzt werden:
' Textlängen abgleichen
While .Range.StoryLength > lng
Set rng = .Range
rng.Start = rng.End - 1
rng.Delete
Wend
Angepasste Befehl:
Sub BearbeiteWordDatei(filePath As String, templateDocPortrait As Document, templateDocLandscape As Document)
Dim doc As Document
Dim orientation As String
Dim lng As Long
Dim rng As Range
' Lade das Word-Dokument
Set doc = Documents.Open(filePath)
' Bestimme die Ausrichtung des Dokuments
orientation = doc.PageSetup.orientation
With doc.Sections(1).Footers(wdHeaderFooterPrimary)
Select Case doc.PageSetup.orientation
' Füge die entsprechende Fußzeile ein
Case wdOrientPortrait
templateDocPortrait.Sections(1).Footers(wdHeaderFooterPrimary).Range.Copy
lng = templateDocPortrait.Sections(1).Footers(wdHeaderFooterPrimary).Range.StoryLength
.Range.Paste
Case wdOrientLandscape
templateDocLandscape.Sections(1).Footers(wdHeaderFooterPrimary).Range.Copy
lng = templateDocLandscape.Sections(1).Footers(wdHeaderFooterPrimary).Range.StoryLength
.Range.Paste
End Select
' Textlängen abgleichen
While .Range.StoryLength > lng
Set rng = .Range
rng.Start = rng.End - 1
rng.Delete
Wend
End With
' Speichere das aktualisierte Dokument
doc.Save
doc.Close SaveChanges:=False
Set doc = Nothing
End Sub
Kleine Tip: Da die Vorlagen selbst nur geladen werden, können diese auch unsichtbar geladen werden:
' Lade die Vorlagen
Set templateDocPortrait = Documents.Open(FileName:=templatePathPortrait, Visible:=False)
Set templateDocLandscape = Documents.Open(FileName:=templatePathLandscape, Visible:=False)
|