Funktionreferenz


_Excel_FilterGet

Beschreibung anzeigen in

Gibt eine Liste von definierten Filtern zurück

#include <Excel.au3>
_Excel_FilterGet ( $oWorkbook [, $vWorksheet = Default] )

Parameter

$oWorkbook Excel Arbeitsbuch Objekt
$vWorksheet [optional] Name, Index oder Arbeitsblatt-Objekt, für das die Filter gelistet werden sollen (Standard = Schlüsselwort Default = aktives Arbeitsblatt)

Rückgabewert

Erfolg: Ein zwei-dimensionaler 0 basiertes Array mit der folgenden Information:
    0 - An, wenn ein Filter für die Spalte gesetzt ist
    1 - Anzahl Bereiche (Menge an Bereichen) aus der die gefilterte Spalte besteht
    2 - Filterkriterium 1. Der Array wird als String getrennt durch "|" zurückgegeben
    3 - Filterkriterium 2. Der Array wird als String getrennt durch "|" zurückgegeben
    4 - Ein XlAutoFilterOperator Wert der den Operator darstellt, der die zwei Filterkriterien verbindet
    5 - Bereichs-Objekt für welches die Filter gesetzt wurden
    6 - Anzahl sichtbarer Zeilen im gefilterten Bereich (einschließlich der Zeile mit dem Filter-Pfeil)
Fehler: 0 und setzt @error.
@error: 1 - $oWorkbook ist kein Objekt oder Arbeitsbuch-Objekt
2 - $vWorksheet Name oder Index sind falsch oder das $vWorksheet ist kein Arbeitsbuch-Objekt. @extended ist gesetzt auf den COM Fehlercode
3 - Keine Filter gefunden

Verwandte Funktionen

_Excel_FilterSet

Beispiel

#include <Array.au3>
#include <Excel.au3>
#include <MsgBoxConstants.au3>

; Erstellen des Anwendungsobjektes und Öffnen eines Beispiel Workbooks
Local $oExcel = _Excel_Open()
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_FilterGet Beispiel", "Fehler beim Erstellen des Excel Objektes." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
Local $oWorkbook = _Excel_BookOpen($oExcel, @ScriptDir & "\Extras\_Excel1.xls", True)
If @error Then
    MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_FilterGet Beispiel", "Fehler beim Öffnen des Workbook '" & @ScriptDir & "\Extras\_Excel1.xls'." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
    _Excel_Close($oExcel)
    Exit
EndIf

; Setzen von zwei Filtern
_Excel_FilterSet($oWorkbook, Default, "A:E", 3, "<610")
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_FilterGet Beispiel", "Fehler beim Filtern der Daten." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
Local $aShow[] = ["20", "40", "60"]
_Excel_FilterSet($oWorkbook, Default, "A:E", 2, $aShow, $xlFilterValues)
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_FilterGet Beispiel", "Fehler beim Filtern der Daten." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_FilterGet Beispiel", "Gesetzte Filter:" & @CRLF & "  Spalte B: Werte = 20, 40 oder 60." & @CRLF & "  Spalte C: Werte <610.")

; Informationen über die Filter auf dem aktiven Arbeitsblatt anzeigen.
Local $aFilters = _Excel_FilterGet($oWorkbook)
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_FilterGet Beispiel 1", "Fehler beim Filtern der Daten." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
_ArrayDisplay($aFilters, "Excel UDF: _Excel_FilterGet Beispiel 1", Default, Default, Default, "Filter on|#areas|Criteria1|Criteria2|Operator|Range|#Records")