Microsoft Excel

Excel und VBA: Formeln, Programmierung, Lösungen

Die Excel/VBA-Beispiele

VBA-Begriff: PropertyTests-Auflistung

FileSearch-Objekt
PropertyTests-Auflistung (PropertyTest-Objekt)
FoundFiles-Objekt

Eine Auflistung von PropertyTest-Objekten, die alle Suchkriterien einer Dateisuche darstellen. Suchkriterien werden im Dialogfeld Suchen aufgelistet (Menü Datei, Befehl Öffnen, Menü Extras, Schaltfläche Suchen).

Verwenden der PropertyTests-Auflistung

Verwenden Sie die PropertyTests-Eigenschaft, um die PropertyTests-Auflistung zurückzugeben. Im folgenden Beispiel wird die Anzahl der Suchkriterien für die erweiterte Suche angezeigt, die für einen Suchlauf verwendet werden.

Application.FileSearch.PropertyTests.Count

Verwenden Sie die Add-Methode, um der PropertyTests-Auflistung ein neues PropertyTest-Objekt hinzuzufügen. Im folgenden Beispiel werden den Suchkriterien zwei Eigenschaftstests hinzugefügt. Das erste Kriterium gibt an, dass die gesuchten Dateien von einem beliebigen Dateityp sein können. Das zweite Kriterium gibt an, dass diese Dateien zwischen 01.01.1996 und 30.06.1996 geändert worden sein müssen. Der Beispielcode zeigt die Anzahl der gefundenen Dateien sowie den Namen jeder gefundenen Datei in einem Meldungsfenster an.

Set fs = Application.FileSearch
fs.NewSearch
 With fs.PropertyTests
    .Add Name:="Files of Type", _
        Condition:=msoConditionFileTypeAllFiles, _
        Connector:=msoConnectorOr
    .Add Name:="Last Modified", _
        Condition:=msoConditionAnytimeBetween, _
        Value:="1/1/96", SecondValue:="6/1/96", _
        Connector:=msoConnectorAnd
 End With
    If fs.Execute() > 0 Then
        MsgBox "There were " & fs.FoundFiles.Count & _
            " file(s) found."
        For i = 1 To fs.FoundFiles.Count
            MsgBox fs.FoundFiles(i)
        Next i
    Else
        MsgBox "There were no files found."
    End If

Verwenden Sie PropertyTests(index), wobei index die Indexnummer ist, um ein einziges PropertyTest-Objekt zurückzugeben. Das folgende Beispiel zeigt alle Suchkriterien für den ersten Eigenschaftstest in der PropertyTests-Auflistung an.

With Application.FileSearch.PropertyTests(1)
myString = "This is the search criteria: " _
    & " The name is: " & .Name & ". The condition is: " _
    & .Condition
If .Value <> "" Then
    myString = myString & ". The value is: " & .Value
    If .SecondValue <> "" Then
        myString = myString _
            & ". The second value is: " _
            & .SecondValue & ", and the connector is" _
            & .Connector
    End If
End If
MsgBox myString
End With