Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Seitenanzahl mittels VBA an bestimmte stelle im Worddokument
zurück: Datei speichern weiter: Dokument startet immer im Entwurfsmodus! Warum?? Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Feedback Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
Xelaration
Im Profil kannst Du frei den Rang ändern


Verfasst am:
15. Mai 2009, 09:48
Rufname:

Seitenanzahl mittels VBA an bestimmte stelle im Worddokument - Seitenanzahl mittels VBA an bestimmte stelle im Worddokument

Nach oben
       Version: Office 2003

Hallo Liebe Experten,

ich habe ein Anliegen, bei dem ich nicht mehr weiterkomme.

Ich möchte in einem Worddokument an einer bestimmten stelle die gesamte Seitenanzahl mitzählen lassen (nicht in der Kopf oder Fußzeile). Gibt es da eine möglichkeit mittels VBA?

Vielen Dank für die Hilfe!

mfg Xelaration
Lisa
Moderator; Word seit Word 5.0 (für DOS)


Verfasst am:
15. Mai 2009, 10:16
Rufname:
Wohnort: Leipzig


AW: Seitenanzahl mittels VBA an bestimmte stelle im Worddoku - AW: Seitenanzahl mittels VBA an bestimmte stelle im Worddoku

Nach oben
       Version: Office 2003

Hallo Xelaration,

Du kannst ein Feld NumPages auch im normalen Text einfügen, das liefert dann die aktuelle Seitenzahl (ggf. nach Aktualisieren):
Code:
{ NUMPAGES }

Die geschweiften Klammern mit Strg F9 erzeugen, den Code dazwischensetzen. Oder das Feld über das Menü Einfügen - Feld erzeugen lassen.
Natürlich kann ein solches Feld auch mittels VBA eingefügt werden, falls erforderlich:
Code:
Selection.Fields.Add Range:=Selection.Range, Text:="NUMPAGES"

Und man kann natürlich auch mit VBA einfach die Seitenzahl eintragen ohne Feld, das aktualisiert natürlich nicht automatisch:
Code:
Selection.TypeText ActiveDocument.ComputeStatistics(wdStatisticPages)

Such Dir was aus oder erklär Dein Anliegen genauer.

_________________
Sei doch so nett und gib eine Rückmeldung, ob es klappt!
Gruß, Lisa

Guter Rat ist teuer!
Xelaration
Im Profil kannst Du frei den Rang ändern


Verfasst am:
15. Mai 2009, 10:21
Rufname:

AW: Seitenanzahl mittels VBA an bestimmte stelle im Worddoku - AW: Seitenanzahl mittels VBA an bestimmte stelle im Worddoku

Nach oben
       Version: Office 2003

Hallo Lisa,

Vielen Dank für die Hilfe!

Ich verfolge das Ziel, dass auf der ersten Seite meines Worddokumentes es die Gesamtanzahl der Blätter an einer bestimmten stelle anzeigt. Wenn möglich ohne das Dokument zuvor akualisioeren zu müssen.

Ich habe eine frage zu

Selection.Fields.Add Range:=Selection.Range, Text:="NUMPAGES"

kannst du mir ein beispiel geben wo ich bestimmen soll wo ich es einfügen möchte?bzw. ich weiß nicht genau wo ich hier definiieren soll wo er es einsetzen soll!

Vielen Dank!

Gruß
Xelaration
Im Profil kannst Du frei den Rang ändern


Verfasst am:
15. Mai 2009, 10:24
Rufname:

AW: Seitenanzahl mittels VBA an bestimmte stelle im Worddoku - AW: Seitenanzahl mittels VBA an bestimmte stelle im Worddoku

Nach oben
       Version: Office 2003

hallo lisa,

ich habe es nochmal durchgeschaut ich habe deinen ersten Vorschlag realisieren können. gibt es eine Möglichkeit das Dokument automatisch zu aktualisieren?

danke
Lisa
Moderator; Word seit Word 5.0 (für DOS)


Verfasst am:
15. Mai 2009, 10:42
Rufname:
Wohnort: Leipzig


AW: Seitenanzahl mittels VBA an bestimmte stelle im Worddoku - AW: Seitenanzahl mittels VBA an bestimmte stelle im Worddoku

Nach oben
       Version: Office 2003

Hallo Xelaration,

jedenfalls sollte in Extras - Optionen - Drucken die Option "Felder aktualisieren" aktiviert sein. Die Felder können in Word manuell mittels F9 aktualisiert werden. Sie werden automatisch aktualisiert, wenn man in die Seitenvorschau schaltet (Strg F2). Dafür sorgt die o.g. Option. Außerdem werden sie vor dem Drucken aktualisiert. Mehr ist ohne VBA nicht zu machen.

Auch eine Aktualisierung mittels VBA müsste irgendwie ausgelöst werden, evtl. an ein Ereignis gebunden werden (wie Speichern, Dokument öffnen, drucken etc.). Wenn im Dokument sowieso VBA-Code verwendet wird, kann man das mit einbauen. Ansonsten bringt es nicht viel.

Dann halt gelegentlich mit Strg F2 in die Seitenvorschau und wieder zurück (schadet bei der Bearbeitung sowieso nicht ;)), dann stimmt das Feld wieder.

Gruß
Lisa
Xelaration
Im Profil kannst Du frei den Rang ändern


Verfasst am:
15. Mai 2009, 10:50
Rufname:

AW: Seitenanzahl mittels VBA an bestimmte stelle im Worddoku - AW: Seitenanzahl mittels VBA an bestimmte stelle im Worddoku

Nach oben
       Version: Office 2003

hallo lisa,

leider wird es mittels deiner Vorschläge nicht aktualisiert. Hättest du mir ein beispiel für die aktuaölisierung mittels vba?

danke

gruß
Lisa
Moderator; Word seit Word 5.0 (für DOS)


Verfasst am:
15. Mai 2009, 11:08
Rufname:
Wohnort: Leipzig

AW: Seitenanzahl mittels VBA an bestimmte stelle im Worddoku - AW: Seitenanzahl mittels VBA an bestimmte stelle im Worddoku

Nach oben
       Version: Office 2003

Hallo Xelaration,

beschreibe bitte mal genau, wo das Feld jetzt steht? Im normalen Hauptbereich des Dokuments? Nicht etwa in einem Textfeld, Autoform o.ä.? Gibt es eine Fehlermeldung, etwa: "Fehler! Textmarke nicht definiert" o.ä.? Aber selbst dann geht es. Wie bist Du vorgegangen? Ich empfehle so:
  1. Feld eingeben, mit Strg F9, dann NUMPAGES dazwischenschreiben.
  2. Mit Shift F9 wieder zurück in die Ergebnisansicht schalten.
  3. Mit Strg F2 in die Seitenvorschau schalten. Da sollte die aktuelle Anzahl zu sehen sein oder eine solche Fehlermeldung.
  4. Mit Strg F2 wieder zurück in die vorherige Ansicht. Entweder ist die aktuelle Seitenanzahl zu sehen oder eine Fehlermeldung oder was siehst Du?

Mit VBA macht man auch nichts anderes. Es steht zwar schon x-mal im Forum, aber sei's drum. Wenn das Feld im Hauptteil steht, reicht:
Code:
ActiveDocument.Fields.Update

Wenn es nicht im Hauptteil steht:
Code:
Sub FelderInAllenDokumentteilenAktualisieren()
  Dim oStory As Range
  Application.ScreenUpdating = False
  Application.DisplayAlerts = wdAlertsNone
  For Each oStory In ActiveDocument.StoryRanges
    oStory.Fields.Update
    While Not (oStory.NextStoryRange Is Nothing)
      Set oStory = oStory.NextStoryRange
      oStory.Fields.Update
    Wend
  Next
  Application.DisplayAlerts = wdAlertsAll
  Application.ScreenUpdating = True
End Sub

_________________
Sei doch so nett und gib eine Rückmeldung, ob es klappt!
Gruß, Lisa

Guter Rat ist teuer!
Xelaration
Im Profil kannst Du frei den Rang ändern


Verfasst am:
15. Mai 2009, 11:19
Rufname:

AW: Seitenanzahl mittels VBA an bestimmte stelle im Worddoku - AW: Seitenanzahl mittels VBA an bestimmte stelle im Worddoku

Nach oben
       Version: Office 2003

Erklärung:

Ich habe ein excel dokument. dort hab ich einen button durch den daten aus dem ecel dokument in eine auf der festplatte abgespeicherte wordvorlage (via Textmarken) einfügt. Jetzt gibt es in word in einer tabelle die er soweit aus excel befüllt jedoch mmöchte ich in einer Tabellenspalte die gesamttanzahl der seiten eintragen lassen. So wenn ich jetzt zum beispiel wenn ich meine daten aus excel übertrag ist die seiten anzahl immer 2 wenn ich weitere angaben in word dann hinzufüge und die seitenanzahl auf 3 ist soll er in der spalte der tabelle eine 3 eintragen!

wenn ich die die oben aufgeführten vba codes einfüge zerschiest er mir die textmarken!

Gruß
Lisa
Moderator; Word seit Word 5.0 (für DOS)


Verfasst am:
15. Mai 2009, 11:50
Rufname:
Wohnort: Leipzig

AW: Seitenanzahl mittels VBA an bestimmte stelle im Worddoku - AW: Seitenanzahl mittels VBA an bestimmte stelle im Worddoku

Nach oben
       Version: Office 2003

Hallo Xelaration,

aha!! Davon stand ja im Ursprungspost gar nichts ;)

Am besten zeigst Du mal den Code, der die Tabelle in Word befüllt. Dann kann man dort das Einfügen des Feldes mit eintragen.

Oder Du gibt das Feld in Word (!) über die Benutzerschnittstelle ein. Ich befürchte aber, dass das nicht geht, weil die Tabelle erst durch die Daten aus Excel ihre endgültige Länge erhält. Also zeig mal den Code, der die Tabelle beschickt. Und bezeichne möglichst genau das Feld, in das die Seitenzahl hinein soll.

Gruß
Lisa
Xelaration
Im Profil kannst Du frei den Rang ändern


Verfasst am:
15. Mai 2009, 11:58
Rufname:

AW: Seitenanzahl mittels VBA an bestimmte stelle im Worddoku - AW: Seitenanzahl mittels VBA an bestimmte stelle im Worddoku

Nach oben
       Version: Office 2003

mir ist gerade noch eine idee eingefallen. ist es möglich die tabellenzelle mit der seitenzahl bei der fusszeile der letzten seite immer zu verknüpfen? da ich noch eine fusszeile habe die die seiten mittzählt. hintergrund ist der das wenn die blätter mal runterfallen sollten, man diese zuordnen kann!

gruß
Lisa
Moderator; Word seit Word 5.0 (für DOS)


Verfasst am:
15. Mai 2009, 13:56
Rufname:
Wohnort: Leipzig

AW: Seitenanzahl mittels VBA an bestimmte stelle im Worddoku - AW: Seitenanzahl mittels VBA an bestimmte stelle im Worddoku

Nach oben
       Version: Office 2003

Hallo Xelaration,

klar ist das möglich, aber die "Verknüpfung" in der Tabellenzelle mit der Fußzeile der letzten Seite würde wieder über eine Feldfunktion erfolgen. Du hast bis jetzt noch nicht darauf geantwortet, ob die normale Feldfunktion { NUMPAGES } bei Dir die Seitenzahl nun anzeigt oder nicht (nach Aktualisierung des Feldes). Jedes andere Feld (also ein Ref-Feld auf das Numpages-Feld in der Fußzeile) müsste auch aktualisiert werden, da gibt es keinen Unterschied.

Also nochmal im Klartext: Es gibt genau 2 Möglichkeiten, um die Anzahl der Seiten einzufügen:
  1. Man fügt ein NumPages-Feld ein. Dieses ist aktualisierbar. Wenn die Datei weitergeführt wird und größer wird, zeigt es nach Aktualisierung (z.B. beim Schalten in die Seitenvorschau) die aktuelle Anzahl der Seiten an. Es ist auch genau das Feld, das man in die Fußzeile einfügt, wenn man den Autotext:
    Seite 1 von 20
    einfügt.
  2. Alle anderen Möglichkeiten sind statisch. Man kann mit VBA die aktuelle Anzahl der Seiten zu einem Zeitpunkt feststellen und an eine bestimmte Stelle im Dokument als Text hinschreiben. Da ist nichts dynamisch. Wenn das Dokument später mehr Seiten hat, ändert sich an dem Text nichts. Man müsste erst wieder mit VBA die Seiten zählen lassen und neu eintragen.

Als Variante zu 1 kann man ein Ref-Feld nehmen statt des Numpages-Feldes, aber das Ref-Feld (das auf ein NumPages-Feld verweist) müsste auch wieder aktualisiert werden.

Bitte probier nochmal die Option mit dem Einfügen des Feldes über die Benutzerschnittstelle, wie oben ausführlich beschrieben:
Zitat:
  1. Feld eingeben, mit Strg F9, dann NUMPAGES dazwischenschreiben.
  2. Mit Shift F9 wieder zurück in die Ergebnisansicht schalten.
  3. Mit Strg F2 in die Seitenvorschau schalten. Da sollte die aktuelle Anzahl zu sehen sein oder eine solche Fehlermeldung.
  4. Mit Strg F2 wieder zurück in die vorherige Ansicht. Entweder ist die aktuelle Seitenanzahl zu sehen oder eine Fehlermeldung oder was siehst Du?

Weitere Möglichkeiten existieren nicht.
Und übrigens: Die Felder werden vor dem Drucken von Word automatisch aktualisiert!! Du schreibst ja auch:
Zitat:
... wenn die Blätter mal runterfallen

Na bitte, da sind sie doch ausgedruckt, also passt doch alles.

_________________
Sei doch so nett und gib eine Rückmeldung, ob es klappt!
Gruß, Lisa

Guter Rat ist teuer!
Xelaration
Im Profil kannst Du frei den Rang ändern


Verfasst am:
18. Mai 2009, 09:23
Rufname:


AW: Seitenanzahl mittels VBA an bestimmte stelle im Worddoku - AW: Seitenanzahl mittels VBA an bestimmte stelle im Worddoku

Nach oben
       Version: Office 2003

Hallo Lisa,

vielen Dank für deine Hilfe. Ich habe es jetzt so gemacht, dass es manuell eingetragen werden soll.

Danke nochmal!

Gruß
Xelaration
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Word Serienbriefe: Serienbrief, aber nur an bestimmte Personen 2 FSW 504 16. Jan 2012, 12:10
FSW Serienbrief, aber nur an bestimmte Personen
Keine neuen Beiträge Word Serienbriefe: Worddokument: wo steht welche ODBC Abfrage gewählt wird? 1 Gast 702 21. Nov 2011, 10:37
Gast Worddokument: wo steht welche ODBC Abfrage gewählt wird?
Keine neuen Beiträge Word Serienbriefe: Serienbrief aus Access: bestimmte Adresse anzeigen 12 Wolfgang27 6874 26. Sep 2011, 15:15
logicalsmile Serienbrief aus Access: bestimmte Adresse anzeigen
Keine neuen Beiträge Word Serienbriefe: Word-Dokument als Datenquelle für Serienbrief 0 seppwert 807 05. Jul 2010, 16:42
seppwert Word-Dokument als Datenquelle für Serienbrief
Keine neuen Beiträge Word Serienbriefe: Daten aus Excel automatisch in ein Word-Dokument übernehmen 1 Gast 3376 22. März 2010, 12:03
J_B Daten aus Excel automatisch in ein Word-Dokument übernehmen
Keine neuen Beiträge Word Serienbriefe: nur bestimmte Seiten eines Serienbriefes drucken 1 voltanjr 3548 01. Okt 2008, 16:07
Ina nur bestimmte Seiten eines Serienbriefes drucken
Keine neuen Beiträge Word Formate: Such bestimmte Schriftart 0 Kyla 295 26. Aug 2008, 22:08
Kyla Such bestimmte Schriftart
Keine neuen Beiträge Word Formate: bestimmte seiten auf din a3 umformatieren 1 Seb79 3264 19. Aug 2008, 10:06
Werner72 bestimmte seiten auf din a3 umformatieren
Keine neuen Beiträge Word Formate: Einfügen von Text an bestimmte Textstellen 1 Gast 605 26. März 2008, 18:57
Gast Einfügen von Text an bestimmte Textstellen
Keine neuen Beiträge Word Serienbriefe: Nur bestimmte Datensätze aus Excel untereinander auflisten 0 Michaela L. 2621 03. Jul 2007, 16:37
Michaela L. Nur bestimmte Datensätze aus Excel untereinander auflisten
Keine neuen Beiträge Word Serienbriefe: Mehrere Datensätz in einem Worddokument 0 Boris81 593 02. Mai 2007, 11:21
Boris81 Mehrere Datensätz in einem Worddokument
Keine neuen Beiträge Word Serienbriefe: Bedingung wenn im SD-Feld bestimmte Buchstaben vorkommen 1 woamo 1506 23. März 2007, 12:27
woamo Bedingung wenn im SD-Feld bestimmte Buchstaben vorkommen
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: JavaScript