Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1436to1440
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Erweiterte Dateiinfo von Docx auslesen unter Excel

Erweiterte Dateiinfo von Docx auslesen unter Excel
29.07.2015 12:23:15
Docx
Hallo
Ist es möglich in Excel-VB die Erweiterte Dateieigenschaften einer WORD Datei (docx) auszulesen und weiterzuverarbeiten?
Ich brauche explicit Infos zum Inhalt: Seitenanzahl, Anzahl Wörter,ANzahl Zeichen usw.
Ich habe es versucht mit der Funktion: GetDetailsOf
leider sind diese Infos dort nicht vorhanden :(
Danke in voraus
Angel

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Erweiterte Dateiinfo von Docx auslesen unter Excel
29.07.2015 12:50:04
Docx
Hallo,
das könntest du mit dem OLE File Property Reader lösen.
Runterladen kannst du die DLL hier: https://www.microsoft.com/en-us/download/details.aspx?id=8422
Das Makro sieht dann beispielsweise so aus (Verweis auf die DSOFile.dll vorausgesetzt):
Public Sub Test()
    
    Dim objOleDocumentProperties As DSOFile.OleDocumentProperties
    Dim objSummaryProperties As DSOFile.SummaryProperties
    
    Set objOleDocumentProperties = New DSOFile.OleDocumentProperties
    
    objOleDocumentProperties.Open "G:\Eigene Dateien\Eigene Dokumente\Addin_Anleitung.docx"
    
    Set objSummaryProperties = objOleDocumentProperties.SummaryProperties
    
    Debug.Print objSummaryProperties.PageCount
    Debug.Print objSummaryProperties.WordCount
    Debug.Print objSummaryProperties.CharacterCount
    Debug.Print objSummaryProperties.CharacterCountWithSpaces
    
    objOleDocumentProperties.Close
    
    Set objSummaryProperties = Nothing
    Set objOleDocumentProperties = Nothing
End Sub

Ansonsten musst du die Word-Dateien öffnen und die entsprechenden BuiltinDocumentProperties auslesen. Die DSO-DLL ist erheblich schneller.
Gruß
Nepumuk

Anzeige
AW: Erweiterte Dateiinfo von Docx auslesen unter Excel
29.07.2015 13:16:03
Docx
Vielen Dank,
werde es gleich ausprobieren. Es sind ca. 2500 docx files zum auslesen, bin gespannt wie schnell es geht. Alle Werte sollen in ExcelDatenBlatt eingetragen werden :D wir Spass werden...
Eine Frage bleibt jedoch, da ich ein x64 bit System habe.
Habe hier eine Version in x64 gefunden: http://www.keysolutions.com/blogs/kenyee.nsf/d6plinks/KKYE-79KRU6
kann ich diese nutzen? wo liegt der Unterschied zu x86?
Danke im Voraus,
Angel

AW: Erweiterte Dateiinfo von Docx auslesen unter Excel
29.07.2015 15:43:24
Docx
Hallo,
eine 64Bit-Version der DLL bräuchtest du nur, wenn du ein 64Bit-Office benutzen würdest.
Gruß
Nepumuk

Anzeige
AW: Erweiterte Dateiinfo von Docx auslesen unter Excel
29.07.2015 23:05:59
Docx
Guten Abend Nepumuk,
habe alles installiert und angefangen zu testen. So weit so gut. Es stellt sich aber ein anderes Problem dar.
Deinen Vorschlag folgend, habe ich beide Word Typen versucht auszulesen ( .doc und .docx)
Unter .doc Files funktioniert es Einwand frei.
Sowohl lesen als auch schreiben, so weit so gut :) … doch bei .docx bekomme ich leider nur lauter "0" angezeigt.
Was mache ich falsch? Wo ist mein Denkfehler?
Hast Du vielleicht irgendein Tut, weitere Codebeispiele zu OLE File Property Reader?
Vielen Dank,
Angel

AW: Erweiterte Dateiinfo von Docx auslesen unter Excel
30.07.2015 07:32:08
Docx
Hallo,
ich hab das mit .doc / .docx / .docm getestet und bei allen dreien funktioniert das einwandfrei. Hast du schon mal in den Dateieigenschaften des Explorers geschaut ob da die Einträge drin sind?
Userbild
Gruß
Nepumuk

Anzeige
AW: Erweiterte Dateiinfo von Docx auslesen unter Excel
30.07.2015 12:05:41
Docx
Hallo Nepumuk,
habe keine Guten Nachrichten :( bin die gesamte Einstellung durchgegangen, laufe unter WIn7x64 sp1, MSOffice 2013, sowohl die Installation als auch einzelne Komponenten.
Es scheint alles ist richtig installiert und erfasst zu sein.
Im Explorer gibt es UNTERSCHIEDLICHE ANSICHTEN .doc und .docx screenshots habe ich beigefügt.
Einerseits fehlt ein Reiter "Benutzerdefiniert" des weiteren sind einige Werte nicht erfasst (Datei).
Im Detail: Erweiterte Eigenschaften,
- Beschreibung GLEICH
- Ursprung GLEICH
- Inhalte GLEICH
- Datei UNTERSCHIEDLICH
im Testscript habe ich lediglich die Fileendung geändert von .doc aud .docx und er spucke nur lauter "0" aus ...
hm... was mache ich falsch? was kann man machen?
Userbild
Userbild
Userbild
Userbild
Userbild

Anzeige
AW: Erweiterte Dateiinfo von Docx auslesen unter Excel
30.07.2015 14:37:01
Docx
Nachtrag:
Dem Fehler habe ich gefunden ABER ich kann Ihm nicht abstellen.
Da ich auf x64 laufe, (sowohl WIN als auch Office) habe ich die Version vom http://www.keysolutions.com/blogs/kenyee.nsf/d6plinks/KKYE-79KRU6
dies ist zwar eine x64 aber in der Version 2.0
die kann definitiv keine .docx auslesen
orig x86 ist Version 2.1
die kann es .docx werden korrekt ausgelesen.
*habe es getestet an orig. beigelegten Beispiel von MS*
die DSOFILE.dll *x86* wiederum kann ich nicht unter system32 registrieren (geht nur im C:\DsoFile )
Im Excel wird dann auch das Einbinden der Bibliothek angeboten (habe ich gemacht...)
Jedoch beim Ausführen gibt es einen Laufzeitfehler 429
was kann man machen?
Bilder hier:
x64 Version: 2.0
Userbild
Userbild
x86 Version 2.1
registriert unter C:\DsoFile
Userbild
Userbild

Anzeige
AW: Erweiterte Dateiinfo von Docx auslesen unter Excel
30.07.2015 17:09:58
Docx
Hallo,
unter einem 64Bit Windows müssen 32Bit-DLL's im Ordner SYSWOW64 gespeichert werden und auch mit der darin befindlichen regsvr32 registriert werden. Die Version 2.0 der DLL ist veraltet.
Ich kann dein Problem nicht nachvollziehen. Mach mal so ein Dokument auf und speichere es erneut, kommen dann die Werte? Wenn nicht, dann lade doch mal ein Musterdokument bei dem der Fehler auftritt hoch.
Gruß
Nepumuk

AW: Erweiterte Dateiinfo von Docx auslesen unter Excel
30.07.2015 19:44:35
Docx
Hmm....
ich habe dazu dies gefunden,
http://forums.asp.net/t/1615658.aspx?dsofile+dll+not+working+in+VS2008+Website+on+Windows+7+64+bit+machine
sowie hier
https://social.msdn.microsoft.com/Forums/vstudio/en-US/112b300b-06e2-4b95-b811-1dd6726ef410/dsofiledll-not-working-in-vs2008-website-on-windows-7-64bit-machine?forum=vsto
genau das selbe wie bei mir ... so wird es nicht gehen, entweder registrierte x64 version (2.0) die "0" Werte rausgibt oder alles umstellen auf x86 - dann wird es gehen :( ... was für ein FOrtschritt...
irgend eine andere Idee?

Anzeige
AW: Erweiterte Dateiinfo von Docx auslesen unter Excel
30.07.2015 19:53:43
Docx
Hallo,
ich hab Windows7 Professional 64Bit und die DLL 2.1 arbeitet einwandfrei.
Gruß
Nepumuk

AW: Erweiterte Dateiinfo von Docx auslesen unter Excel
30.07.2015 19:56:12
Docx
hier ist es gut erklärt aber den Laufzeitfehler (unter x86) bekomme ich nicht geregelt.
http://www.xlam.ch/soscq/vbadsofile.htm
Die COM ist nicht richtig "eingebunden"
Andere Idee die Werte Erweiterten docx auszulesen ohne diese Bibliothek?

AW: Erweiterte Dateiinfo von Docx auslesen unter Excel
30.07.2015 20:24:32
Docx
Hallo,
das hab ich in meiner ersten Antwort schon geschrieben. Du machst die Dateien auf und liest die BuiltinDocumentProperties aus. Darin sind die gesuchten Informationen gespeichert.
Beispiel:
Public Sub Test()
    Const PROPERTY_PAGES As String = "Number of pages"
    Const PROPERTY_WORDS As String = "Number of words"
    Const PROPERTY_CHARACTERS As String = "Number of characters"
    Dim objWord As Object, objDocument As Object
    Set objWord = CreateObject("Word.Application")
    Set objDocument = objWord.Documents.Open(Filename:= _
        "G:\Eigene Dateien\Eigene Dokumente\Addin_Anleitung.docx", ReadOnly:=True)
    With objDocument.BuiltinDocumentProperties
        Debug.Print .Item(PROPERTY_PAGES).Value
        Debug.Print .Item(PROPERTY_WORDS).Value
        Debug.Print .Item(PROPERTY_CHARACTERS).Value
    End With
    Call objDocument.Close(SaveChanges:=False)
    Call objWord.Quit
    Set objDocument = Nothing
    Set objDocument = Nothing
End Sub

Gruß
Nepumuk
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige