Forums Neueste Beiträge
 

Dateinamen in Excel einlesen inklusive Dateiinfo

20/03/2009 - 08:39 von Dennis Miller | Report spam
Hallo zusammen,

ich hoffe, ihr könnt mir ein wenig weiterhelfen.

ich benötige ein Makro, dass alle Dateien eines bestimmten Verzeichnis
(inkl Unterordner) in Excel einliest. Die Dateien in den
Verzeichnissen sind nur Office-Dateien (xls, doc und ppt) sowie pdfs.

Neben den Dateinamen bràuchte ich aber noch zusàtzlich aus den
Dateiinfos den Wert "Titel" der Dateien.

Dabei sollte auch die Möglichkeit bestehen, wenn im "Titel" ein
bestimmter Wert nicht steht, möchte ich diesen Wert auch noch
überschreiben können.

Leider habe ich im Internet nur Makros gefunden, die nur die
Dateinamen einlesen, aber nicht den "Titel".


Vielen Dank und Grüße

Dennis
 

Lesen sie die antworten

#1 stefan onken
20/03/2009 - 11:42 | Warnen spam
On 20 Mrz., 08:39, Dennis Miller wrote:
Hallo zusammen,

ich hoffe, ihr könnt mir ein wenig weiterhelfen.

ich benötige ein Makro, dass alle Dateien eines bestimmten Verzeichnis
(inkl Unterordner) in Excel einliest. Die Dateien in den
Verzeichnissen sind nur Office-Dateien (xls, doc und ppt) sowie pdfs.

Neben den Dateinamen bràuchte ich aber noch zusàtzlich aus den
Dateiinfos den Wert "Titel" der Dateien.

Dabei sollte auch die Möglichkeit bestehen, wenn im "Titel" ein
bestimmter Wert nicht steht, möchte ich diesen Wert auch noch
überschreiben können.

Leider habe ich im Internet nur Makros gefunden, die nur die
Dateinamen einlesen, aber nicht den "Titel".

Vielen Dank und Grüße

Dennis



hallo Dennis,
zum Einlesen von Dateiname und Titel aller Unterverzeichnisse:

Sub DateienListenStart()
DateienListen "d:\test"
End Sub

Function DateienListen(fld)
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objShell = CreateObject("Shell.Application")
Set fld = objFSO.GetFolder(fld)
Set objfolder = objShell.Namespace(CStr(fld))
For Each itm In objfolder.items
lr = Range("A" & Rows.Count).End(xlUp).Row + 1
Range("A" & lr) = fld & "\" & itm
Range("B" & lr) = objfolder.GetDetailsOf(itm, 21)
Next
For Each subfld In fld.SubFolders
DateienListen subfld
Next
End Function

Der Code führt auch Verzeichnisse auf, dass kann man ggfls noch
anpassen.


Ändern kann man den Titel über BuiltInDocumentProperties(), mehr dazu
in der VBA-Hilfe. Dazu muss die Datei allerdings geöffnet werden.
Es gibt auch eine Möglichkeit, in geschlossenen Dateien diese
Eigenschaft zu àndern, dazu ist aber ein "externes Programm"
notwendig.
http://www.cpearson.com/excel/docprop.aspx

Gruß
stefan

Ähnliche fragen