Wie füge ich ein Feld mit der letzten nummerierten Seite in Ms Word ein?

313
Adolfo Correa

Wissenschaftliche Texte wie Monographien, Dissertationen und Dissertationen verwenden manchmal die Nummerierung der Seiten von Pre-Text, Text und Post-Text.

Dann muss ich eine Katalogkarte erstellen, deren Prä-Text- und Textanzahl Seiten unterschieden wird. Ich denke, ich könnte ein Feld mit der letzten Seite des Vortextteils und der letzten Seite des Dokuments setzen (es ist nicht so, weil dies die Gesamtzahl der Seiten angibt).

Dies ist die Struktur des Dokuments, um besser zu verstehen, was das Problem ist:

  1. Die Nummerierung der Vortexte beginnt auf der dritten Seite mit der römischen Nummerierung (iii) und endet am Ende der Figurenliste bei (xvi). Diese Seite in absoluter Nummerierung ist ebenfalls 16.
  2. Nachdem der Textteil mit der Nummerierung mit 1 (arabische Nummerierung) beginnt, ist dies bei der absoluten Nummerierung des Dokuments die 17-Seite. Dann endet diese Nummerierung mit der Seite 120, aber in absoluter Nummerierung ist diese Seite 136.

Dann brauche ich ein Feld, das XVI und 120 druckt. Ich könnte das tun:

{=-16} 

Wenn der Vortext jedoch Seiten vergrößert, funktioniert das nicht

Ich bin auch dankbar für eine Lösung in VBA.

0
Hast du schon einen VBA-Code geschrieben? Es ist großzügig von Ihnen, "Lösungen mit VBA auch zu akzeptieren" Prasanna vor 7 Jahren 0
Wo steckst du fest? Was hast du versucht? Dies ist kein Skriptschreibservice. Xavierjazz vor 7 Jahren 0
Entschuldigung, ich spreche nicht sehr gut Englisch. Ich kann nicht freundlicher oder höflicher sein. Ich wollte sagen, dass ich auch glücklich und sehr dankbar bin, wenn die Lösung ein Feld bearbeitet oder eine VBA-Routine schreibt Adolfo Correa vor 7 Jahren 0
Keine Jungs. Entschuldigung, wenn ich mich schlecht ausdrücke. Ich denke, es gibt einen einfachen Weg, um dieses Problem zu lösen, wenn Sie Felder bearbeiten. Sicher kann jemand diese Suche im Internet nach VBA lösen. Ich kann dies tun. Aber ich denke, das ist ein sehr einfaches Problem, dass es vielleicht eine Lösung mit Feld aus Wort gibt. Wenn ich die Lösung für die Beantwortung der Frage kenne, war es meine Absicht, eine VBA-Lösung zu erhalten, denn für mich ist diese Lösung auch nützlich. Adolfo Correa vor 7 Jahren 0

2 Antworten auf die Frage

0
Tony EE rocketscientist

Normalerweise in Fußzeilen erinnere ich mich daran, dass die Syntax x von xx ist, wobei xx die letzte Seite ist.

Wenn Sie das Format ändern, von einem römischen zu einem arabischen, fügen Sie irgendwo ... RestartNumberingAtSection hinzu

Dies ist ein Beispielskript, das überprüft werden muss

On Error Resume Next

Const wdPageBreak = 7 Const wdPageNumberStyleUppercaseRoman = 1

Set objWord = CreateObject ("Word.Application") objWord.Visible = True Set objDoc = objWord.Documents.Add ()

Set objSection = objDoc.Sections (1) Set objSelection = objWord.Selection

Set objPageNumbers = Obdachsektion.Fußball (1) .PageNumbers ObjPageNumbers.NumberStyle = wdPageNumberStyleUppercaseRoman objPageNumbers.

objSelection.TypeText "Dies ist Seite 1." objSelection.InsertBreak (wdPageBreak) objSelection.TypeText "Dies ist Seite 2." objSelection.InsertBreak (wdPageBreak) objSelection.TypeText "Dies ist Seite 3."

0
Tanya

Dies können Sie mit einem Feld und einem Lesezeichen erreichen.

Erstellen Sie zuerst ein neues Lesezeichen rechts von der Absatzmarke, an dem Sie am Ende des Vorwandabschnitts einen Abschnittswechsel haben (ich habe es bkPretextEnd genannt).

Fügen Sie dann an der Stelle, an der Ihre angepasste Seitenberechnung angezeigt werden soll, anstelle der Hardcodierung 16 einen Verweis auf die Seitennummer des Lesezeichens ein (und ändern Sie das Feldformat in Arabisch, damit es aufgrund der Seitennummerierung nicht fehlschlägt) in diesem Abschnitt).