Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Excel VBA Makro zum Auslesen von Seitenzahlen in Word Dokumenten

Frage Microsoft Microsoft Office

Mitglied: Martin4711

Martin4711 (Level 1) - Jetzt verbinden

29.03.2009, aktualisiert 13:15 Uhr, 12359 Aufrufe, 9 Kommentare

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
Mitglied: bastla
29.03.2009 um 18:36 Uhr
Hallo Martin4711 und willkommen im Forum!

Könnte etwa so aussehen:
01.
Sub WordStats() 
02.
Basis = "D:\Word-Dateien" 
03.
Typ = "doc" 'in Kleinbuchstaben 
04.
 
05.
Set wd = CreateObject("Word.Application") 
06.
Zeile = 3 'ab dieser Zeile werden die Informationen in das Tabellenblatt eingetragen 
07.
Set fso = CreateObject("Scripting.FileSystemObject") 
08.
For Each Datei In fso.GetFolder(Basis).Files 
09.
    If LCase(fso.GetExtensionname(Datei.Name)) = Typ Then 
10.
        Set doc = wd.Documents.Open(Datei.Path) 
11.
        Cells(Zeile, "A") = Datei.Name 
12.
        Cells(Zeile, "B") = doc.BuiltinDocumentProperties(14) 
13.
        doc.Close False 
14.
    End If 
15.
    Zeile = Zeile + 1 
16.
Next 
17.
Columns("A:B").AutoFit 
18.
Set wd = Nothing 
19.
End Sub
Grüße
bastla
Bitte warten ..
Mitglied: Minion
29.03.2009 um 18:39 Uhr
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
Bitte warten ..
Mitglied: 76109
31.03.2009 um 15:31 Uhr
Hallo bastla,

die Seitenanzahl gibt es unter:

01.
            Cells(Zeile, "B") = doc.Content.End
Gruß Dieter
Bitte warten ..
Mitglied: Martin4711
31.03.2009 um 16:33 Uhr
Super, 1000 Dank! Die Lösung funktioniert prima...

Viele Grüße,
Martin
Bitte warten ..
Mitglied: bastla
31.03.2009 um 17:36 Uhr
@76109
01.
Cells(Zeile, "B") = doc.Content.End
Da erhalte ich aber einige abenteuerliche Werte (als Seitenanzahl) ...

... ist dann doch eher eine Zeichenanzahl - allerdings nicht gleich dem Ergebnis von
 doc.BuiltinDocumentProperties(16)
Grüße
bastla
Bitte warten ..
Mitglied: 76109
31.03.2009 um 18:13 Uhr
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
Bitte warten ..
Mitglied: bastla
31.03.2009 um 18:23 Uhr
@did1954
Test unter Office2003 mit einigen Worddateien ("Test5.doc" enthält wie bei Dir nur leere Seiten - dafür aber gleich 12 ):
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
Bitte warten ..
Mitglied: 76109
31.03.2009 um 18:47 Uhr
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
Bitte warten ..
Mitglied: 76109
31.03.2009 um 19:02 Uhr
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
Bitte warten ..
Ähnliche Inhalte
Microsoft Office
gelöst Excel VBA Datein auslesen (8)

Frage von schwalbepilot zum Thema Microsoft Office ...

Microsoft Office
gelöst VBA zum auslesen von einem Zellbereich Excel (1)

Frage von schwalbepilot zum Thema Microsoft Office ...

Microsoft Office
gelöst CSV-Datei mit einem VBA Makro in Excel einlesen und leicht anpassen (5)

Frage von JoSiBa zum Thema Microsoft Office ...

Neue Wissensbeiträge
Batch & Shell

Batch - ein paar Basics die man kennen sollte

Tipp von Pedant zum Thema Batch & Shell ...

Microsoft

Restrictor: Profi-Schutz für jedes Window

(6)

Tipp von AlFalcone zum Thema Microsoft ...

Batch & Shell

Batch zum Zurücksetzen eines lokalen Profils

Tipp von Mr.Error zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Server
gelöst Benutzer lässt sich nur an einem Clientcomputer anmelden (17)

Frage von Ammann zum Thema Windows Server ...

Netzwerke
SFP Modul (miniGibic) (11)

Frage von apranet zum Thema Netzwerke ...

Batch & Shell
gelöst Gruppenzugehörigkeit von AD Usern ermitteln - die Perfektion fehlt (11)

Frage von Stefan007 zum Thema Batch & Shell ...