26.12.2020, 19:00
Hallo und frohe Weihnachten,
ich lese ein Verzeichniss mit folgendem Routinen (mp3 Dateien) aus und speichere sie in einer Tabelle um sie später weiter zu bearbeiten.
Das klappt auch alles wunderbar bis auf mein Problem:
ich hätte gerne außer den Interpreten, den Titel und den Pfad noch die Angabe der Größe in min und sek (z.B. 3:25)
ist das überhaupt möglich, wenn ja wie
Mein System:
Windows 10 und Excel 2016
Meinen Dank im vorraus
Wilfried
ich lese ein Verzeichniss mit folgendem Routinen (mp3 Dateien) aus und speichere sie in einer Tabelle um sie später weiter zu bearbeiten.
Code:
Function GetAOrdner() As String
Dim xl As InfoT, IDList As Long, RVal As Long, FolderName As String
With xl
.hwnd = FindWindow("xlmain", vbNullString)
.Title = lstrcat("Bitte wählen Sie ein Verzeichnis", "")
.Flags = 1
End With
IDList = SHBrowseForFolder(xl)
If IDList <> 0 Then
FolderName = Space(256)
RVal = SHGetPathFromIDList(IDList, FolderName)
CoTaskMemFree (IDList)
FolderName = Trim(FolderName)
FolderName = Left(FolderName, Len(FolderName) - 1)
End If
GetAOrdner = FolderName
StOrdner = GetAOrdner ' Verzeichnis auswählen
If StOrdner = "" Then
MsgBox "Es wurde kein Ordner ausgewählt!"
End If
SearchInFolder StOrdner
End Function
Private Sub SearchInFolder(ByVal Folderspec As String)
On Error Resume Next
' auslesen aufrufen mit Ordnername
Dim dserfdat As Long
Dim FSO As New FileSystemObject
Dim SearchFolder As Folder
Dim FI As File
Dim EachFil As Files
Dim erfdat As Worksheet
Dim adat As Worksheet 'Neu 05.11.20
Dim x As Long
Set SearchFolder = FSO.GetFolder(Folderspec)
Set EachFil = SearchFolder.Files ' Dateien in der jeweiligen Root
Set erfdat = Worksheets("ErfastDaten")
'**********************************************
' Sheets"ErfasDaten" löschen
'**********************************************
dserfdat = erfdat.Cells(Rows.Count, 2).End(xlUp).Row
erfdat.Visible = True
erfdat.Activate
erfdat.Range(Cells(3, 1), Cells(dserfdat, 9)).ClearContents
erfdat.Range("F1").ClearComments
lfdn = 1
Loletzte = 3
For Each FI In EachFil ' Schleife über alle Dateien
' laufende Eintragsnummer
erfdat.Cells(Loletzte, 1) = lfdn
' Dateiname ohne Ordner
erfdat.Cells(Loletzte, 2) = FI.Name
' Pfad
erfdat.Cells(Loletzte, 5) = Left(FI.Path, Len(FI.Path) - Len(FI.Name))
' Hyperlink Pfad und Dateiname
erfdat.Hyperlinks.Add Anchor:=erfdat.Cells(Loletzte, 9), Address:=FI.Path, TextToDisplay:=FI.Path
Loletzte = Loletzte + 1 ' Zeilenzähler um 1 erhöhen
lfdn = lfdn + 1
Next FI
erfdat.Range("F1") = lfdn - 1
Set EachFil = Nothing
dserfdat = erfdat.Cells(Rows.Count, 2).End(xlUp).Row
For x = 3 To dserfdat
erfdat.Cells(x, 9).Font.Size = 9
Next x
erfdat.Range("A1").Select
End Sub
Das klappt auch alles wunderbar bis auf mein Problem:
ich hätte gerne außer den Interpreten, den Titel und den Pfad noch die Angabe der Größe in min und sek (z.B. 3:25)

ist das überhaupt möglich, wenn ja wie

Mein System:
Windows 10 und Excel 2016
Meinen Dank im vorraus
Wilfried