Anzahl der Seiten in einem Word-Dokument per VBA bestimmen ...

14/07/2008 - 16:54 von Nicolas Nickisch | Report spam
Hi NG,
ich stehe vor der Aufgabe aus iener Access-DB heraus per VBA die Seitenzahl
zu bestimmen.
Die Anzahl der Seiten wird dann innerhalb der Datenabank in einem Feld
erfasst.

Ich tue dies wie folgt :

Dim word as word.Application

Set word=createobject("Word.Application")
word.documents.open Filename=xxx$
word.visible=true
debug.print word.activedocument.BiultInDocumentProperties(wdpropertyPages)

...
word.quit false

ich öffne also zuerst word und lade dann das Dokument.
Danach mache ich Word sichtbar - ist das überhaupt erfrderlich ?

Anschliessend bestimmer ich über die Dokument-Eigenschaften die Anzahl der
Seiten.

Hier liegt das Problem.

Lasse ich den Code ungebremst durchlaufen, dann erhalte ich im Tets bei
einem 8-seitigen Dokument die Angabe 3.

Stoppe ich den Code für einige Sekunden nach word.visible, dann stimmt
alles.

Offenbar benötigt Word einige Zeit die Anzal der Seiten zu bestimmen.

Gibt es eine weniger fehlertràchtige Methode zur Dokumentenlàngenbestimmung
?
Da ich nicht weiss wie lang das Dokument ist, macht meiner Meinung nach eine
Verzögerung von 2-3 Sekunden keinen Sinn.
Schliesslich könnt edas Dokument auch einige Tausend Seiten haben anstatt 8.

Any ideas ?

Gruss Nico
 

Lesen sie die antworten

#1 Helmut Weber
14/07/2008 - 17:22 | Warnen spam
Hallo Nico,

Jonathan West schrieb in microsoft.public.word.vba.general:

"What you could to is force a foreground repagination using the
ActiveDocument.Repaginate command. The next line of code will not
execute until the repagination is complete."


Gruß

Helmut Weber, MVP WordVBA

Vista Small Business, Office XP

Ähnliche fragen