Word - Alle Kopfzeilen verbinden

Asked By Thomas Hase on 03-Jun-10 06:18 AM
Hallo NG,

ich suche nach einer M?glichkeit alle Kopfzeilen eines Dokumentes mit
n-Abschnitten so zu gestalten, das sie den Inhalt der ersten Kopfzeile
?bernehmen.

hier habe ich folgenden Code gefunden um Kopf und Fu?zeilen zu
durchlaufen, aber bei mir scheitert es schon daran, dass ich keine
Beschreibung finde, was ein

Sections-Objekt genau beinhaltet.

Frage 1:
Gibt das Sections-Objekt die Anzahl der Abschnitte in einem Dokument
an?


Set d = ActiveDocument
MsgBox "SectionsCount: " & d.Sections.Count
For s = d.Sections.Count To 1 Step -1
For h = 1 To 3
'd.Sections(s).Headers(h).Range.Delete
'd.Sections(s).Footers(h).Range.Delete
Next
Next


Frage 2: Muss .Headers immer von 1 bis 3 durchlaufen werden?
Steht 1 bis 3 f?r irgendwelche Konstanten?



Danke

Gru? Thomas


Thomas Gahler replied to Thomas Hase on 03-Jun-10 07:03 AM
Hallo Thomas

Dazu gibt es die .LinkToPrevious-Eigenschaft vom .Headers-Objekt



Nein, das .Sections-Objekt ist eine Aufzählung der .Section-Objekte. Ein
.Section-Objekt entspricht einem Abschnitt.
In VBA ist es meinstens so, dass ein Objekt (z.B. Document) in einer
Auflistung vorhanden ist (z.B. Documents). Die erkennst du am Plural,
welcher im englischen meistens mit einem 's' endet.



Es gibt drei arten von Kopfzeilen (Standard, ErsteSeite und Ungerade).
Kannst du via Datei/Seite einrichten/Layout beeinflussen. Daher macht es
sinn, grundsätzlich duch alle drei Kopfzeilen zu gehen. Die sind auch da
wenn sie nicht aktiv sind.

wdHeaderFooterPrimary = 1
wdHeaderFooterFirstPage = 2
wdHeaderFooterEvenPages = 3
(findest du im Objekt-Katalog)



Dein Code könne dann so aussehen.



Sub Demo()
Dim doc As Word.Document
Dim sec As Word.Section
Dim i As Integer

Set doc = ActiveDocument

For Each sec In doc.Sections
For i = wdHeaderFooterPrimary To wdHeaderFooterEvenPages
sec.Range.Select
sec.Headers(i).LinkToPrevious = True
Next i
Next sec
End Sub






--
Thomas  Gahler
Co-Autor von »Microsoft Word-Programmierung.
Das Handbuch« (MS Press)


- Windows XP (SP3), Office XP (SP3)
Thomas Hase replied to Thomas Gahler on 03-Jun-10 09:31 AM
Hallo Thomas, vielen vielen Dank,
ich arbeite so gut wie nie mit Word.



schon klar, ich hatte meinen Code nicht eingef?gt:

.. Sections.count wollte ich schreiben


Danke.

Gru? Thomas