VBA Dateieigenschaften auslesen

gimli3311
Goto Top
Guten Morgen Zusammen,

ich brauch mal wieder eure Hilfe.

Mein Vorhaben ist das ich bei allen gefundenen Excel Dateien die Dateieigenschaft Titel, Autor, Erstelldatum und Letzte Änderung herauslese und in die Vorgesehen Spalten schreibe. (C2:F2). Ich habe einen Code gefunden nur das Problem ist das er mir immer mein aktives Dokument ausließt und nicht die gefundenen. Ich weiß auch ehrlich gesagt nicht wie ich des hinbekommen soll. Gibt es die Möglichkeit die Gefundenen Dateien geschlossen zu haben und trotzdem an die Eigenschaften dran zu kommen?
Für Tipps wäre ich sehr Dankbar.

Hier ist noch mein Quellcode:

Auslesen der Datei Eigenschaften versuche ich in der Sub ReadDocumentProperties()


Gruß Gimli3311

Content-Key: 264976

Url: https://administrator.de/contentid/264976

Ausgedruckt am: 04.07.2022 um 07:07 Uhr

Mitglied: 114757
114757 02.03.2015 um 09:58:52 Uhr
Goto Top
Wie das ohne ein File zu öffnen geht, kannst du hier nachlesen:
https://www.administrator.de/forum/vb-script-gesucht-videodateien-ausles ...

Gruß jodel32
Mitglied: colinardo
Lösung colinardo 02.03.2015, aktualisiert am 13.10.2016 um 14:20:28 Uhr
Goto Top
Hallo Gimli3311,
wie @114757 bereits verlinkt hat lässt sich das ohne die Files zu öffnen machen:

Hier das Beispiel für deine oben genannten Datei-Eigenschaften:
Denke damit solltest du es problemlos in dein Script integrieren können.

Die Nummern der Dateieigenschaften können sich je nach Betriebssystem unterscheiden, ich habe dir hier mal die eines Windows 7 aufgelistet:
Für alle die sich so eine Liste selber für Ihr OS generieren möchten hier ein kleines VB-Skript das eine Textdatei (Eigenschaften-Liste.txt) mit den Eigenschaftennamen und deren Nummern enthält:
Grüße Uwe
Mitglied: Gimli3311
Gimli3311 02.03.2015 um 13:23:54 Uhr
Goto Top
Danke Jodel32 für den Link und Danke Uwe für den Quellcode
Sitz jetzt glaub schon 3h dran und es geht immer noch nicht ^^ aber hab erst jetzt den Quellcode von dir Uwe gesehen.
Werde es nochmal versuchen und mein Ergebnis melden.

Danke face-smile
Mitglied: Gimli3311
Gimli3311 02.03.2015 aktualisiert um 13:39:18 Uhr
Goto Top
So ich hab es mal zusammen gebastelt.

Bekomme in der Funktion GetFileProperty(strFile, intProperty) eine Fehlermeldung (Zeile 88): Objekt Fehlt
Könntet ihr mir weiterhelfen?



Gruß Gimli3311
Mitglied: 114757
Lösung 114757 02.03.2015 aktualisiert um 15:00:39 Uhr
Goto Top
Du musst die Objekte objShell Global deklarieren und nicht lokal ! Also vor die SUB verschieben z.B. nach Zeile 5...
Sonst sind diese nur in der Sub und nicht in der Function verfügbar ... dort finden sie nämlich auch Verwendung ...

Mitglied: Gimli3311
Gimli3311 02.03.2015 um 15:02:42 Uhr
Goto Top
Ohje man merkt wir haben heut Montag ^^

Hätte des selber glaub nie gefunden :D Danke Jodel32 und Uwe

Gruß Gimli3311
Mitglied: Gimli3311
Gimli3311 03.03.2015 aktualisiert um 08:56:57 Uhr
Goto Top
Zitat von @colinardo:

>
Die Nummern der Dateieigenschaften können sich je nach Betriebssystem unterscheiden, ich habe dir hier mal die eines Windows
7 aufgelistet:


Können sich die Zahlen auch mit der Version von Excel unterscheiden?
Ich hab auf meinem Rechner hier Windows 7 und Excel 2013
Auf der VM ist auch Windows 7 drauf aber das Excel 2010

Wenn ich jetzt auf der VM teste bekomme ich den Autoren und Titel nicht angezeigt.
Die anderen Eigenschaften: Erstelldatum und Änderungsdatum stimmen aber.

Vielleicht hast du eine Erklärung für face-smile

Gruß Gimli3311

PS: Es liegt wirklich an der Excel Version, konnte es grad mit dem 2013 auf der VM testen
Mitglied: 114757
114757 03.03.2015 aktualisiert um 09:27:25 Uhr
Goto Top
Zitat von @Gimli3311:
PS: Es liegt wirklich an der Excel Version, konnte es grad mit dem 2013 auf der VM testen
Nein, liegt nicht an der Excel-Version, sondern den installierten Patches, ist ein Bug
http://www.experts-exchange.com/Programming/Languages/.NET/Visual_Basic ...
Denn dann werden nur die ersten 8 Einträge zurückgegeben ...
Mitglied: Gimli3311
Gimli3311 03.03.2015 um 11:16:32 Uhr
Goto Top
Also wenn ich es mit Excel 2013 mache bekomme ich mehr als die ersten 8 Einträge raus.
Aber das es ein Bug gibt glaub ich dir gerne, bin nur froh das es bei mir jetzt geht :D

Gruß Gimli3311