martin4711

Excel VBA Makro zum Auslesen von Seitenzahlen in Word Dokumenten

Hallo zusammen,

ich habe in einem Verzeichnis circa 50 Word Dokumente und möchte in einem Excel Blatt eine Übersicht über die Word Dateien erstellen. Dazu soll einfach nur der Word-Dateiname und die Seitenanzahl des Word Dokuments in die Excel Übersicht übernommen werden.

Kann mir jemand mit einem VBA Script aushelfen?

Vielen Dank,
Martin
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 112649

Url: https://administrator.de/forum/excel-vba-makro-zum-auslesen-von-seitenzahlen-in-word-dokumenten-112649.html

Ausgedruckt am: 25.04.2025 um 14:04 Uhr

bastla
bastla 29.03.2009 um 18:36:01 Uhr
Goto Top
Hallo Martin4711 und willkommen im Forum!

Könnte etwa so aussehen:
Sub WordStats()
Basis = "D:\Word-Dateien"  
Typ = "doc" 'in Kleinbuchstaben  

Set wd = CreateObject("Word.Application")  
Zeile = 3 'ab dieser Zeile werden die Informationen in das Tabellenblatt eingetragen  
Set fso = CreateObject("Scripting.FileSystemObject")  
For Each Datei In fso.GetFolder(Basis).Files
    If LCase(fso.GetExtensionname(Datei.Name)) = Typ Then
        Set doc = wd.Documents.Open(Datei.Path)
        Cells(Zeile, "A") = Datei.Name  
        Cells(Zeile, "B") = doc.BuiltinDocumentProperties(14)  
        doc.Close False
    End If
    Zeile = Zeile + 1
Next
Columns("A:B").AutoFit  
Set wd = Nothing
End Sub
Grüße
bastla
73234
73234 29.03.2009 um 18:39:31 Uhr
Goto Top
Für 50 Dateien:

1. dir *.doc > worddoku.txt
2. worddoku.txt in Excel importieren
3. Jedes Dokument aus der Textdatei öffnen und die Seitenzahl ermitteln
76109
76109 31.03.2009 um 15:31:01 Uhr
Goto Top
Hallo bastla,

die Seitenanzahl gibt es unter:

            Cells(Zeile, "B") = doc.Content.End  

Gruß Dieter
Martin4711
Martin4711 31.03.2009 um 16:33:49 Uhr
Goto Top
Super, 1000 Dank! Die Lösung funktioniert prima...

Viele Grüße,
Martin
bastla
bastla 31.03.2009 um 17:36:23 Uhr
Goto Top
@76109
Cells(Zeile, "B") = doc.Content.End  
Da erhalte ich aber einige abenteuerliche Werte face-wink (als Seitenanzahl) ...

... ist dann doch eher eine Zeichenanzahl - allerdings nicht gleich dem Ergebnis von
 doc.BuiltinDocumentProperties(16)

Grüße
bastla
76109
76109 31.03.2009 um 18:13:01 Uhr
Goto Top
Hallo bastla,

wenn ich bei mir doc's lade, dann steht bei mir in "doc.BuiltinDocumentProperties" nix drin (Debbuggerfehler)

Ich habe doc's mit 1,2,3,4, und 5 Seiten (allerdings leer) getestet und da hat die Seitenanzahl mit "doc.Content.End"
gestimmt?

Gruß Dieter
bastla
bastla 31.03.2009 um 18:23:02 Uhr
Goto Top
@did1954
Test unter Office2003 mit einigen Worddateien ("Test5.doc" enthält wie bei Dir nur leere Seiten - dafür aber gleich 12 face-wink):
doc.BuiltinDocumentProperties(14):
Test2.doc	2
Test1.doc	1
Test3.doc	2
Test4.doc	1
Test5.doc	12

doc.BuiltinDocumentProperties(16):
Test2.doc	4134
Test1.doc	1118
Test3.doc	1781
Test4.doc	2383
Test5.doc	0

doc.Content.End:
Test2.doc	4865
Test1.doc	1294
Test3.doc	2186
Test4.doc	3010
Test5.doc	12
Scheint so, als würden mit "Content.End" alle Zeichen (also auch sämtliche Steuerzeichen, wie zB Seitenvorschub) gezählt werden.

Grüße
bastla
76109
76109 31.03.2009 um 18:47:34 Uhr
Goto Top
Hallo bastla,

es scheint so, dass .Content.End alle Textzeichen zählt. Aber mit .BuiltIn bekomme ich immer noch Debuggerfehler.
Meldung "nicht verfügbar". Habe noch Office XP?

Gruß Dieter
76109
76109 31.03.2009 um 19:02:48 Uhr
Goto Top
Hallo bastla,

also jetzt aber, jetzt funktioniert BuiltIn doch (Syntaxfehler ?), aber mit falschen Seitenzahlen:

Doc01 = 1
Doc02 = 2
Doc03 = 3
Doc04 = 3
Doc05 = 3

Gruß Dieter