Wie lassen sich Werte in Headern automatisch erhöhen?

558
ShemSeger

Ich habe ein Makro erstellt, das eine Seite am Ende eines Dokuments hinzufügt und den Titeltext in der Kopfzeile ändert. Ich möchte mehrere Seiten hinzufügen können und den Buchstaben im Titel automatisch erhöhen lassen:

ZEITPLAN 'A'
ZEITPLAN 'B'
ZEITPLAN 'C'
usw.

Ich habe versucht, ein AUTONUM-Feld zu verwenden, erhalte jedoch eine Benachrichtigung mit der Aufschrift " Nur Hauptdokument ".

Sub AddSchedule() ' ' AddSchedue Macro ' Press Ctrl+End to add a schedule to a Policy. '  Selection.EndKey Unit:=wdStory Selection.InsertBreak Type:=wdSectionBreakNextPage ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader ' Unlink Header from Previous - Is this necessary? The macro seems to work without it...  Selection.Tables(1).Cell(Row:=1, Column:=2).Range.Text = "SCHEDULE '" Selection.Tables(1).Cell(Row:=1, Column:=2).Range.Select Selection.Collapse Direction:=wdCollapseEnd Selection.MoveEnd Unit:=wdCharacter, Count:=-1 Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, Text:= _ "AUTONUM \* ALPHABETIC \s ' ", PreserveFormatting:=False ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument   End Sub 

Wie kann ich die Seitentitel automatisch in den Kopfzeilen erhöhen?

Außerdem ging ich davon aus, dass ich meine Header von den vorherigen in meinem Makro lösen musste. Ich konnte diesen Teil nicht zum Laufen bringen, aber abgesehen von den Feldern, die nicht richtig funktionieren, scheint alles andere gut zu funktionieren. In der Kopfzeile wird der neue Titel angezeigt, obwohl er immer noch verlinkt ist. Soll ich es einfach lassen? Oder wie gehe ich vor, um die Kopfzeilen zu lösen? Ich habe versucht mit:

Selection.HeaderFooter.LinkToPrevious = False 

Aber es gibt mir diesen Laufzeitfehler:

Die Methode oder Eigenschaft ist nicht verfügbar, da die aktuelle Auswahl für Formatänderungen gesperrt ist

1
Ich kann ein paar andere Felder in der Kopfzeile verwenden, ich kann es mit Abschnittsnummern arbeiten lassen, aber der erste Zeitplan wäre in Abschnitt 3, daher wird der Buchstabe für den ersten Zeitplan als 'C' angezeigt. ShemSeger vor 7 Jahren 0
Und ich muss die Unlink zum vorherigen Teil herausfinden, es funktioniert, bis Sie zu einer anderen Seite gelangen, und dann werden die anderen Header aktualisiert, damit sie mit der neuen übereinstimmen. ShemSeger vor 7 Jahren 0

1 Antwort auf die Frage

0
Tanya

Sie können dies auch ohne Makro erreichen, indem Sie stattdessen ein berechnetes Feld in der Kopfzeile verwenden. Sie waren mit der Verwendung des Abschnittsfelds sehr nahe. Sie müssen nur 2 subtrahieren, damit der richtige Wert angezeigt wird.

Der Header des Abschnitts 3 müsste vor dem Einfügen des Feldes nicht mit dem vorherigen Abschnitt verknüpft sein. Die nachfolgenden Abschnitte könnten jedoch verknüpft werden und die Zeitplannummer wird automatisch aktualisiert (z. B. würde in Abschnitt 4 die Überschrift Schedule 2 lauten).