Word VBA Cursor auf bestimmte Seite setzen
#1
Hallo zusammen,
irgendwie komme ich nicht weiter und hoffe auf die Kraft des Forums:s
Folgendes:
Ich baue aus vielen Word-dateien mittels einer Excel Matrix neue Word-Dokumente zusammen.
Nun nummeriert mir Word nach jedem Einfügen eines Word-Files das neue immer fortlaufend. Das ist so nicht gewollt. Jedes neu eingefügte Wordfile soll wieder mit "1" beginnen.
Ich dachte, wenn ich den Cursor auf die erste Seite des neu eingefügten Files setze und dann den Nummerierungswert wiedser auf "1" setzte ist die Welt in Ordnung.
Wie setze ich mittels VBA den Cursor auf z.B. die Seite 8 an den Anfang ?

oder gibs hierfür ne andere Lösungsmöglichkeit ?

Vielen Dank für eure Hilfe

Gruß
DeBabba
Top
#2
Hallo Babba,

wie es mit VBA geht, kann ich Dir nicht sagen, - aber Word zählt die Seite 1 immer ab neuem Abschnitt.

So wie ich das verstanden habe, würde ich nach jedem Wordfile, vor jedem neuen einen Abschnittswechsel einfügen.

Wenn Du die Seitenzahlen in der Fußleiste hast,- dann mache ich das inzwischen so, dass ich da eine Word-Tabelle 1 Reihe und "x" Spalten einfüge, - natürlich ohne Rahmenlinien,- und in die Zelle wo ich meine Seitenzahlen habe, setze ich z.B. diese Felder:

Seite: {PAGE \*CHARFORMAT} / {SECTIONPAGES \* CHARFORMAT}

Tabelle nehme ich deswegen, weil ich in der Fußzeile oft ne Menge Info stehen hab - und dann bequem jede Zelle einzeln formatieren kann.

Ich hab übrigens word 2010 .... und Du ? .....

Grüßle
__________ Nick

.. ach da fällt mir noch was ein,- Du mußt bei der jeweils ersten Seitennummerierung in Kopf- und Fußzeilentools, - die Option "Mit vorheriger verknüpfen" ausschalten.

Das hatte ich auch schon mal vergessen - dann übernimmt Word auch die restlichen Felder aus der vorherigen Fußzeile.

Einfach ausschalten - dann hast Du Ruhe.
Top
#3
Hi Nick,
danke für Deinen Tipp.
Ich werd das mal ausprobieren. Dann kann ich ja zu dem Abschnitt springen und versuchen den Nummerierungswert auf 1 zu setzen
Übrigens auch ich arbeite mit Office 2010 ProPlus. Allerdings am häufigsten mit Excel.

Gruß
DeBabba - KLaus
Top
#4
Hi Klaus,

Du kannst Dir die Abschnittsnummer als Textmarke definieren und dann ist sie ansprechbar.

Die Abschnittsnummer kriegst Du angezeigt mit dem Feld: {SECTION \*CHARFORMAT}

Wobei das CHARFORMAT natürlich nur für die Formatierung ist und auch weggelassen werden kann oder anders lauten kann.

Ich hab in einem langen Dokument mit über 30 Abschnitten, mir die Abschnittsnummer so anzeigen lassen und weiß formatiert.
Durch Feldmarkierungen "an", - was ja hellgrau ist - kann ich dann die Nummer sehen, - aber im Ausdruck bleibt sie unsichtbar.

Das Ganze als Formatvorlage einer Überschrift zugewiesen, - lässt sich das dann im Inhaltsverzeichnis im Navigationsbereich sehr bequem anspringen.

Zitat:Übrigens auch ich arbeite mit Office 2010 ProPlus. Allerdings am häufigsten mit Excel.

... ja - ich weiß ... :19:

... ääähm ... nur vorsichtshalber sei drauf hingewiesen, dass man die geschweiften Klammern nicht kopieren kann,- sondern unbedingt mit strg + F9 eingeben muß .....

Dass Du das weißt weiß ich, aber falls jemand hier mitliest und das vergisst... Dodgy
Top
#5
Hallo Nick,
Sorry, ich komme da so nicht weiter :2022
Ich darf die bestehenden Dokumente nicht verändern, sondern nur zusammenfügen.
Dabei hauts mir die Nummerierung zusammen. Es soll jedes eingefügte Dokument immer mit "1" anfangen
Hat jemand ne Idee ??

Gruß
DeBabba
Top
#6
Hm - wie fügst Du die denn zusammen ?

Kopierst Du was und fügst Du es ein ? -

Wie fängst Du an - mit Datei neu ? - oder gibt es das Dokument schon in das Du was einfügst, -

und - andere Idee - mit ganz anderem Ansatz,- vielleicht in Excel zusammenfügen und dann in Word übertragen ?

Was heißt,- "es haut mir die Nummerierung zusammen" ?

Ich habs bisher so verstanden:

Neues Dokument,-

dort wird was eingefügt, - unverändert !

In der Fußzeile gibst Du die Seitenzahl an.

jetzt setzt Du an das Ende des 1. Docs einen Abschnittswechse>> Neue Seite (oder Fortlaufend)

In die Fußzeile gibst Du wieder die Seitenzahl an.

Einfügen des 2. Docs und

jetzt wieder Abschnittswechsel > Neue Seite

usf.

Oder gib mir mal ne Datei Dodgy

Blindtextgenerator
Top
#7
Hi Nick,
sorry, dass ich erst jetzt antworte
Da werd ich mal versuchen Dir Deine Fragen zu beantworten
Es geht los mit Datei neu
Nummerierung: Jedes Dokument wird mit "InsertFile" am jeweiligen Ende eingefügt
Code:
DatNam = ActiveCell.Offset(0, (ColDok * -1) + 1) & "\" & ActiveCell.Offset(0, (ColDok * -1) + 2)
        Set WWRng = WWNeu.Range(WWNeu.Range.End - 1, WWNeu.Range.End)
        WWRng.InsertFile FileName:=DatNam, ConfirmConversions:=False

Wobei der Dateiname (DatNam) aus einer Excel Matrix stammt
Jedes eingefügte Dokument ist nummeriert / gegliedert (überschrift 1, Überschrift 2 usw)
und wenn nun ein weiteres Dokument (beginnt natürlich immer mit 1) eingefügt wird, so wird aus der 1 ne 2 usw.. und genau das soll nicht sein.
Meine Idee : springe im eingefügten Dokument ( die Seitenzahl hab ich in einer Variablen) auf die Überschriftszeile und gib an, dass die Nummerierung wieder mit 1 beginnt.
ODER
kann ich es beim einfügen vermeiden, dass sich die Nummerierung aktualisiert?
Die Gesamtseitenzahlen in Kopf / Fusszeilen dürfen hochgezählt werden. Das funktioniert auch
Gruß
De Babba Klaus
Top
#8
Hallo,

hast Du wie Nick es bereits vorgeschlagen hat, mit einem Abschnittswechsel versucht? Also ungefähr so

Code:
DatNam = ActiveCell.Offset(0, (ColDok * -1) + 1) & "\" & ActiveCell.Offset(0, (ColDok * -1) + 2)
         Set WWRng = WWNeu.Range(WWNeu.Range.End - 1, WWNeu.Range.End)
         WWRng.InsertFile FileName:=DatNam, ConfirmConversions:=False
         WWRng.InsertBreak Type:=wdSectionBreakNextPage
Gruß Stefan
Win 10 / Office 2016
Top
#9
(10.07.2014, 09:26)DeBabba schrieb: Hi Nick,
sorry, dass ich erst jetzt antworte
Da werd ich mal versuchen Dir Deine Fragen zu beantworten
Es geht los mit Datei neu
Nummerierung: Jedes Dokument wird mit "InsertFile" am jeweiligen Ende eingefügt
Code:
DatNam = ActiveCell.Offset(0, (ColDok * -1) + 1) & "\" & ActiveCell.Offset(0, (ColDok * -1) + 2)
        Set WWRng = WWNeu.Range(WWNeu.Range.End - 1, WWNeu.Range.End)
        WWRng.InsertFile FileName:=DatNam, ConfirmConversions:=False

Wobei der Dateiname (DatNam) aus einer Excel Matrix stammt
Jedes eingefügte Dokument ist nummeriert / gegliedert (überschrift 1, Überschrift 2 usw)
und wenn nun ein weiteres Dokument (beginnt natürlich immer mit 1) eingefügt wird, so wird aus der 1 ne 2 usw.. und genau das soll nicht sein.
Meine Idee : springe im eingefügten Dokument ( die Seitenzahl hab ich in einer Variablen) auf die Überschriftszeile und gib an, dass die Nummerierung wieder mit 1 beginnt.
ODER
kann ich es beim einfügen vermeiden, dass sich die Nummerierung aktualisiert?
Die Gesamtseitenzahlen in Kopf / Fusszeilen dürfen hochgezählt werden. Das funktioniert auch
Gruß
De Babba Klaus

Aha - jetzt wirds klarer !

Ok. das muss ich mir dann auch erstmal verinnerlichen.

Die "Leuts" hier sind halt eher auf Excel eingeschossen.... :20:

Bin grad aus dem KH gekommen und bin noch nicht so ganz bei der Sache.

Wenn Du wo anders inzwischen ne Lösung bekommst, wäre ich daran interessiert,
- könntest Du das dann hier posten ? ... von mir aus auch verlinken ? Dodgy

Grüßle
__________ Nick
Top
#10
Hi Klaus, -

gucksDu bei:

Register:>EINFÜGEN<>Kopf- und Fußzeile<>Seitenzahl<>Seitenzahlen formatieren<
- > ob dort ein Häkchen gesetzt ist bei: "Beginnen bei 1"


Könnte sein, dass das auf "Fortsetzen vom vorherigen Abschnitt" gesetzt ist.

Das hat nämlich bei mir auch dazu geführt, dass die Abschnitte nicht neu durchgezählt wurden.
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste