ich bitte um Eure Hilfe.
Hat jemand von Euch ein Modul mit dem ein Ordner mit bestimmten Namen (z.B. Test) gesucht werden kann und dann der ganze Pfad ausgegeben wird?
Für Eure Hilfe bedanke ich mich schon voraus.
LG, Peter
c:\users\user>dir /A:D /S /B desktop
Hilfe mit dir /?
Dies kann auch direkt aus vba aufgerufen werden.
Sub M_snb_dir()
sn = Split(CreateObject("wscript.shell").exec("cmd /c dir ""c:\temp\"" /b/s/a:d").stdout. _
readall, vbCrLf)
For Each d In sn
msgbox d
Next d
End Sub
mfgOption Explicit
Function fncFolderSearch(ByVal strFolder As String, _
Optional strTMP As String = "C:\Temp\") As String
Dim strAll() As String
strTMP = IIf(Right(strTMP, 1) "\", strTMP & "\", strTMP)
strAll = Split(CreateObject("Wscript.Shell").exec _
("CMD /C Dir Dir /S /B /AD " & """" & strTMP & _
strFolder & """" & """").stdout.readall, vbCrLf)
On Error Resume Next
fncFolderSearch = Left(strAll(0), (InStrRev(strAll(0), "\") - 1))
If Err.Number = 9 Then
fncFolderSearch = "Kein Ordner gefunden!"
End If
On Error GoTo 0
End Function
Wenn der Ordner in A1 steht, dann einfach in B1 folgendes eingeben:=fncFolderSearch(A1)
Was musst Du anpassen, damit es für Dich läuft?Optional strTMP As String = "C:\Temp\") As String
... musst Du "Temp" durch "Ordner1" ersetzen - bezogen auf Dein Beispiel.Sub Main()
ActiveSheet.Range("C1").Value = fncFolderSearch("Dezember")
End Sub
Hier schreibe ich das Ergebnis in "C1". Statt "Dezember" natürlich Dein Ordnername, oder eben eine Variable bzw. eine Zelle.