PDA

Vollständige Version anzeigen : Windows-Suche automatisieren


Smaug
26.07.2006, 07:24
Beim Aufruf des Windows-Suchassistenten möchte ich den Pfad (was mit ShellExecute kein Problem wäre) und die Suchparameter (z.B. Worte in Dokumenten nach denen gesucht werden soll) übergeben. Mittlerweile habe ich herausgefunden, dass man Suchergebnisse in FND-Dateien abspeichern kann. Da sich Suchbegriffe sowie Suchpfad stets ändern, suche ich nach einer Möglichkeit eine FND-Datei nachträglich mit VB o.ä. zu bearbeiten. Bisher sind jedoch selbst meine direkten Schreibversuche im Editor gescheitert. Beim Öffnen der FND-Datei wird dann kein Suchtext mehr angezeigt (selbst wenn man gleichen Text nochmal eingibt). Weiss jemand von Euch wie man FND-Dateien nachbearbeiten kann - oder hat jemand eine Alternative für eine dynamische Suche in Windows (Info: der Aufruf der Suche soll aus Access heraus erfolgen, der Suchbegriff steht dort in einem Textfeld)

Beere
15.08.2006, 07:07
Wie weit bist Du? Hast Du schon das FileSearch-Objekt gefunden - Beschrieb ist in der OH auch bei ACCESS abrufbar.

mfg
Beere

Smaug
15.08.2006, 07:30
AFAIK sucht doch das FileSearch-Objekten Dateien und Ordner. Ich wollte eigentlich eine einfache Lösung verwenden um in Dateien Text zu suchen. Bisher mache ich das mit einem Access-Formular und recht viel VBA. Das Ganze soll zwar auch in Access verwendet werden, jedoch wäre ein einfacheres Script vielleicht besser. Ich dachte mir dass wenn man Windows zur Suche nutzen könnte, ist das Ganze wahrscheinlich auch etwas schneller (wir haben ein wahnsinnig lahmes Netz)

Beere
15.08.2006, 07:53
Ist das - TextOrProperty - nicht das:
Gibt das Wort oder den Ausdruck zurück, nach dem bei der angegebenen Dateisuche entweder im Text oder in den Eigenschaften einer Datei gesucht werden soll, oder legt das Wort oder den Ausdruck fest. Das Wort oder der Ausdruck kann als Platzhalterzeichen ein * (Sternchen) oder ein ? (Fragezeichen) enthalten. String-Wert mit Lese-/Schreibzugriff.

Hinweise
Verwenden Sie ein Fragezeichen als Platzhalterzeichen für ein einzelnes, beliebiges Zeichen. Geben Sie z. B. G?ld ein, um alle Dateien zu suchen, in denen "Geld" oder "Gold" mindestens einmal enthalten ist.

Verwenden Sie ein Sternchen als Platzhalterzeichen für eine beliebige Anzahl von Zeichen. Geben Sie z. B. San* ein, um alle Dateien zurückzugeben, die mindestens ein mit "San" beginnendes Wort enthalten.

Beispiel
In diesem Beispiel werden der Ordner C:\My Documents sowie seine Unterordner durchsucht und alle Dateien zurückgegeben, deren Text oder Dateieigenschaften mit "San" beginnende Wörter enthalten. Die TextOrProperty-Eigenschaft legt das zu suchende Wort fest und begrenzt die Suche entweder auf den Text der Datei oder auf die Dateieigenschaften.

With Application.FileSearch
.NewSearch
.LookIn = "C:\My Documents"
.SearchSubFolders = True
.TextOrProperty = "San*"
.FileType = msoFileTypeAllFiles
End With

Smaug
15.08.2006, 08:10
Die TextOrProperty-Eigenschaft ist mir irgendwie entgangen. Das sieht echt vielversprechend aus. Muss ich unbedingt ausprobieren. Danke schon mal !!!

Smaug
15.08.2006, 09:54
das funzt super. Vielen Dank :)
Anfangs kannte er zwar alle Eigenschaften und Methoden des FileSearch-Objekts - aber nicht die FileType-Konstanten. Nach Einbindung der Office-Library war das auch kein Problem mehr.