• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

lijst met mp3's in verkenner overzetten naar excel

Status
Niet open voor verdere reacties.
Hoi iedereen!
Ik ben er nu uit! Beats per minute blijkt kolomnummer 242 te zijn!
Ik heb nu het volgende script gebruikt, na wat puzzelen, en deze werkt perfect! Zonder jullie was ik er never uit gekomen.
Mijn dank is zeer groot!!!!! En veel respect dat jullie me geholpen hebben zonder hiervoor direct een tegenprestatie te vragen. Heel fijn dat dit forum bestaat en dat er mensen zijn die anderen willen helpen!

Sub jec()
Dim x00, sp, sq, ar, j As Long, i As Long
x00 = "C:\Users\dickv\Documents\Muziek\*.mp3"
sp = Split(CreateObject("wscript.shell").exec("cmd /c Dir """ & x00 & """ /b/o:n").stdout.readall, vbCrLf)
sq = Array(0, 13, 21, 20, 15, 242, 16, 27, 1, 28, 19, 2, 3)

ReDim ar(UBound(sp), UBound(sq))
For i = 0 To UBound(sp) - 1
With CreateObject("shell.application").Namespace(CStr(Split(x00, "*")(0)))
For j = 0 To UBound(sq)
ar(i, j) = .getdetailsof(.Items.Item(CStr(sp(i))), sq(j))
Next
End With
Next

Cells(1, 1).Resize(, UBound(ar, 2) + 1) = Array("Naam", "Meewerkende Artiest", "Titel", "Albumartiest", "Jaar", "BPM", "Genre", "Afspeelduur", "Grootte", "Bitsnelheid", "Waardering", "Type", "Gemaakt op")
Cells(2, 1).Resize(UBound(sp), UBound(ar, 2) + 1) = ar
End Sub
 
En nu nog even, uit respekt voor het forum, alle VBA code tussen code tags zetten.
En tweemaal cstr() verwijderen, omdat die overbodig zijn.

Code:
Sub jec()
  Dim x00, sp, sq, ar, j As Long, i As Long

  x00 = "C:\Users\dickv\Documents\Muziek\*.mp3"
  sp = Split(CreateObject("wscript.shell").exec("cmd /c Dir """ & x00 & """ /b/o:n").stdout.readall, vbCrLf)
  sq = Array(0, 13, 21, 20, 15, 242, 16, 27, 1, 28, 19, 2, 3)
  ReDim ar(UBound(sp), UBound(sq))

  With CreateObject("shell.application").Namespace(Split(x00, "*")(0))
    For i = 0 To UBound(sp) - 1
      For j = 0 To UBound(sq)
        ar(i, j) = .getdetailsof(.Items.Item(sp(i)), sq(j))
      Next
    Next
  End with
       
  Cells(1, 1).Resize(, UBound(ar, 2) + 1) = Array("Naam", "Meewerkende  Artiest", "Titel", "Albumartiest", "Jaar", "BPM", "Genre",  "Afspeelduur", "Grootte", "Bitsnelheid", "Waardering", "Type", "Gemaakt  op")
  Cells(2, 1).Resize(UBound(sp), UBound(ar, 2) + 1) = ar
End Sub
 
Laatst bewerkt:
Graag gedaan.

Wellicht kunnen we je ook helpen met het aanpassen van je muzieksmaak?
 
Hahahahahahaha!
Ik heb eigenlijk een zeer brede muzieksmaak! Je hebt maar een heel klein gedeelte gezien.
Mijn smaak gaat van jazz naar 70-80 disco. Van pop uit de sixties tot aan old skool house.
En ik houd me altijd aanbevolen voor andere muziek!

Dus als je nog iets hebt, dan is dat altijd welkom als suggestie!
 
@snb, zonder cstr bleef hij mij mij een error geven. Bij jou niet?
 
Nee.
De resultante van een split is per definitie een array waarvan de items altijd van het type string zijn.

Kijk maar:

Code:
  x00 = "C:\Users\dickv\Documents\Muziek\*.mp3"
  x01 = Split(x00, "*")(0)
  x2=typename(Split(x00, "*")(0))

Dat geldt voor bestandsnamen in sp evenzo vrolijk
 
Dat dacht ik ook. Bij de tweede code via filesystemobject werkte het wel
 
Werkt dit dan wel ?

Code:
  With CreateObject("shell.application").Namespace(Split(x00, "\*")(0))
 
Nee dit ook niet. Ik moet toch echt die Cstr gebruiken.
 
Jullie hebben gelijk. Vreemd, eigenaardig. Dit strookt niet met de struktuur van VBA.
Ik heb in plaats van cstr trim gebruikt:

Code:
  With CreateObject("shell.application").Namespace(Trim(Split(x00, "\*")(0)))
    For i = 0 To UBound(sp) - 1
      For j = 0 To UBound(sq)
        ar(i, j) = .getdetailsof(.Items.Item(Trim(sp(i))), sq(j))
      Next
    Next
  End With
 
Laatst bewerkt:
Bij post #6 zie je dat je de tweede Cstr/Trim niet nodig hebt. It.Name zorgt blijkbaar direct voor een acceptabele input.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan