Skip to content
本页内容

Filters (对象)

由多个 Filter 对象组成的集合,这些对象代表自动筛选区域内的所有筛选。

说明

使用 Filters 属性可返回 Filters 集合。下例创建一个列表,其中包含工作表 Crew 中已自动筛选的区域内所有筛选的条件和运算符。

python
def test():
    f = None
    op = None
    c1 = None
    c2 = None
    ns = "Not set"

    w = Application.Worksheets.Item("Sheet1")
    w2 = Application.Worksheets.Item("Sheet2")
    rw = 1
    for i in range(1, w.AutoFilter.Filters.Count):
        f = w.AutoFilter.Filters.Item(i)
        if f.On:
            c1 = f.Criteria1[-1]
            if f.Operator:
                op = f.Operator
                c2 = f.Criteria2[-1]
            else:
                op = ns
                c2 = ns
        else:
            c1 = ns
            op = ns
            c2 = ns
        
        w2.Cells.Item(rw, 1).Value2 = c1
        w2.Cells.Item(rw, 2).Value2 = op
        w2.Cells.Item(rw, 3).Value2 = c2
        rw = rw + 1

使用 Filters(index)(其中 index 是筛选的标题或索引号)可返回单个 Filter 对象。下例将一个变量设置为工作表 Crew 上的筛选区域中第一列的筛选的 On 属性的值。

python
def test():
    w = Worksheets.Item("Crew")
    if w.AutoFilterMode:
        filterIsOn = w.AutoFilter.Filters.Item(1).On