ffmboy
Goto Top

Alle Dateien auch die aus den Unterordnern?

Hallo, möchte alle möglichen Dateinamen aus einem Bestimmten Ordner in Excel Tabelle einlesen mit deren Erstellungsdatum:

Hab da was aber weiß nicht wie ich es wegen den Unterordnern ändern soll??


Private Sub CommandButton1_Click()


'*DATEIEN IN PFAD AUFLISTEN, HYPERLINKS SETZEN UND ERSTELLDATUM EINTRAGEN!!

Dim lngZeile As Long
Dim objFso As Object, objFile As Object

lngZeile = 1
Set objFso = CreateObject("Scripting.FileSystemObject")
For Each objFile In objFso.GetFolder("C:\Documents and Settings\").Files
ActiveSheet.Hyperlinks.Add Anchor:=Cells(lngZeile, 1), Address:=objFile.Path, TextToDisplay:=objFile.Name
Cells(lngZeile, 5).Value = objFile.DateCreated
lngZeile = lngZeile + 1
Next
Set objFso = Nothing


End Sub


Am besten wäre eine Änderung so , dass ich den Ordner selber wähle mir aber auch alle DateiNamen der Unterordner eingefügt werden???

so ähnlich soll die tabelle dann aussehen:

DateiName | Datum |


Könnte man dann zum beispiel eine neue Spalte erstellen "Kommentar" dort ein Kommentar hinterlegen und dieses Kommentar soll auch in der
Datei unter Eigenschaften/Dateiinfo gespeichert werden? ( Oder halt Direkt mit dem einfügen der DateiNamen auch die "Dateiinfo" mit aufrufen)
Nach dem bearbeiten der Zellen sollten die Infos in die Dateien gespeichert werden????


Danke für euere Hilfe!

Mit freundlichen Grüßen
ffmboy

Content-ID: 129302

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

Ausgedruckt am: 15.11.2024 um 15:11 Uhr

ffmboy
ffmboy 13.11.2009 um 14:34:35 Uhr
Goto Top
So Ähnlich soll das sein :

Private Sub CommandButton4_Click()

Const STRFOLDER As String = "C:\Documents and Settings"
Dim objShell As Object, objFolder As Object
Dim bytIndex As Byte, intColumn As Integer, lngRow As Long
Dim varName, arrHeaders(37)
If Dir(STRFOLDER, 16) = "" Then
MsgBox "Der Ordner " & STRFOLDER & " wurde nicht gefunden!", 64, "Hinweis"
Exit Sub
End If
Application.ScreenUpdating = False
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.Namespace(STRFOLDER)
intColumn = 1
For bytIndex = 0 To 37
arrHeaders(bytIndex) = objFolder.GetDetailsOf(varName, bytIndex)
Cells(1, intColumn + bytIndex) = arrHeaders(bytIndex)
Next
Rows(1).Font.Bold = True
lngRow = 2
For Each varName In objFolder.Items
For bytIndex = 0 To 37
Cells(lngRow, intColumn + bytIndex) = objFolder.GetDetailsOf(varName, bytIndex)
Next
lngRow = lngRow + 1
Next
Columns.AutoFit
Set objShell = Nothing
Set objFolder = Nothing
Application.ScreenUpdating = True
End Sub

würde halt noch gerne die dateien in den Unterordnern auch dazunehemen,
einige eigenschaften ändern können und vom excel file aus die infos in die dateien wieder speichern!!
TsukiSan
TsukiSan 13.11.2009 um 15:01:47 Uhr
Goto Top
Hallo ffmboy,

mir faellt auf die Schnelle dies ein:
Set objExcel = CreateObject("Excel.Application")  

objExcel.Visible = False
objExcel.Workbooks.Add


Dim Filter , X, PfadStr

Set objWord = CreateObject("Word.Application")  
Set objDoc = objWord.Documents.Add()
Set objRange = objDoc.Range()
objDoc.Tables.Add objRange,1,1
Set objTable = objDoc.Tables(1)




Filter = inputbox("Bitte geben Sie den Dateifilter ein","Mit Word Dateien suchen und auflisten","*.mp3")  
PfadStr = inputbox("Bitte geben Sie den Pfad ein","Mit Word Dateien suchen und auflisten","D:\")  
msgbox "Befehl wird ausgeführt! Bitte warten!",,"Mit Word...."  
objWord.FileSearch.FileName = Filter
objWord.FileSearch.LookIn = PfadStr
objWord.FileSearch.SearchSubfolders = True
objWord.FileSearch.Execute

objWord.Visible = False
X = 1

For Each objFile in objWord.FileSearch.FoundFiles	
	   if not objFile = "" then  
		objExcel.Range("A" & X).Value = objFile  
		x = x + 1
	   End if
Next


msgbox "Befehl ausgeführt!Es wurden " & x & " Dateien gefunden und aufgelistet.",,"Mit Word...."  

objExcel.Visible = True

objWord.quit
Set objword = nothing
Set objDoc = nothing
Set objRange = nothing
Set objTable = nothing
Set objExcel = nothing

Damit wird nach bestimmten Dateien gescucht und in Excel aufgelistet. Ich verstehe deine Programmiersprache nicht.
Erinnert mich an VB, sieht aber voellig anders aus. Mein Script in VBS!
Wie man Datei Infos ausliest, kannst du hier sehen (auch VBS)
Set objFSO = CreateObject("Scripting.FileSystemObject")  
Set objFile = objFSO.GetFile("c:\Adsi")  

Wscript.Echo "Date created: " & objFile.DateCreated  
Wscript.Echo "Date last accessed: " & objFile.DateLastAccessed  
Wscript.Echo "Date last modified: " & objFile.DateLastModified  
Wscript.Echo "Drive: " & objFile.Drive  
Wscript.Echo "Name: " & objFile.Name  
Wscript.Echo "Parent folder: " & objFile.ParentFolder  
Wscript.Echo "Path: " & objFile.Path  
Wscript.Echo "Short name: " & objFile.ShortName  
Wscript.Echo "Short path: " & objFile.ShortPath  
Wscript.Echo "Size: " & objFile.Size  
Wscript.Echo "Type: " & objFile.Type  

Muesste dann nur noch zusammengefuegt werden. Poste mal dein spaeteres Ergebnis.

Gruss
Tsuki
ffmboy
ffmboy 18.11.2009 um 11:38:46 Uhr
Goto Top
hi, danke für die lösung wenn ich sie dann bearbeitet und dementsprechend angepasst habe wie ich das möchte dann stell ich die komplette lösung hier rein!!!
TsukiSan
TsukiSan 19.11.2009 um 03:58:55 Uhr
Goto Top
das wäre rech nett von dir. Eventuell haben andere User später mal ähnliche Fragen und können dann mit unseren Codeschnipseln etwas anfangen.

so long,

Tsuki