2016-06-24 17 views
0

Ich bin relativ neu zu VBA und arbeiten an etwas für die Arbeit, die einen bestimmten Ordner im Explorer starten wird, führen Sie eine Suche im Explorer für Dateien in dem Ordner, deren Namen enthalten eine bestimmte Zeichenfolge, und zeigen Sie mir die Ergebnisse in Explorer. Ich habe Shell benutzt und war in der Lage, einen spezifischen Ordner einzeln zu öffnen und eine Suche auszuführen ... aber ich kann nicht herausfinden, wie man beide Aufgaben gleichzeitig tut.von VBA, führen Sie eine Suche im Explorer innerhalb eines bestimmten Ordners

Hier sind einige verschiedene Dinge, die ich versucht habe: nichts hat funktioniert.

Sub search_Files() 

    Dim folderName As String 

    folderName = "\\Users\itsMe\Documents" 

    Call Shell("C:\WINDOWS\explorer.exe "" "" & folderName _ 
        &"" ""&search-ms://query=h&", vbNormalFocus) 

    Call Shell("explorer.exe "" ""search-ms:query=h&crumb=location:\\Users\itsMe\Documents", vbNormalFocus) 

    Call Shell("C:\WINDOWS\explorer.exe"" & FolderName &", vbNormalFocus) 

    RetVal = Shell(_ 
    "c:\Windows\explorer.exe ""search-ms:displayname=Search%20Results&crumb=\\Users\itsMe\Documents" _ 
    & h & "%20kind%3A%3Dfolder&crumb=location:" _ 
    & folderName, vbNormalFocus) 

End Sub 

Könnte jemand bitte mir den richtigen Code zur Verfügung stellen, wie man das macht? (Ich will Shell verwenden.)

Antwort

0

die Sie interessieren - es funktionierte für mich ...

Call Shell("explorer.exe " & Chr(34) & "search-ms:query=*.pdf&crumb=location:c:\ad\" & Chr(34), vbNormalFocus) 
0

Meinten Sie Ihren Code benötigen, wie unten die fünfte zu ersetzen? Ich habe versucht, den zugehörigen Zielordner bereits zu ändern. Aber immer noch scheitern. Ich bin mir nicht sicher, ob ich in welchem ​​Schritt falsch gehandelt habe.

Sub search_Files() 

    Dim folderName As String 

    folderName = "C:\Users\lkam\Documents" 

    Call Shell("C:\WINDOWS\explorer.exe "" "" & folderName _ 
        &"" ""&search-ms://query=h&", vbNormalFocus) 

    Call Shell("explorer.exe " & Chr(34) & "search-ms:query=*.pdf&crumb=location:c:\ad\" & Chr(34), vbNormalFocus) 

    Call Shell("C:\WINDOWS\explorer.exe"" & FolderName &", vbNormalFocus) 

    RetVal = Shell(_ 
    "c:\Windows\explorer.exe ""search-ms:displayname=Search%20Results&crumb=C:\Users\lkam\Documents" _ 
    & h & "%20kind%3A%3Dfolder&crumb=location:" _ 
    & folderName, vbNormalFocus) 

End Sub