Gibt eine Liste von definierten Filtern zurück
#include <Excel.au3>
_Excel_FilterGet ( $oWorkbook [, $vWorksheet = Default] )
$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) |
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 |
#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")