在 pyWin32 中设置自动过滤器的标准

alj*_*alj 5 python excel pywin32

我可以使用 pyWin32 设置自动过滤器,但我想知道是否可以设置默认过滤器以及语法是什么。

例如,我想在年份列上设置过滤器并设置当前年份的默认值。

xl = Dispatch("Excel.Application") 
xl.Workbooks.Open(file_path) 
xl.ActiveWorkbook.Worksheets(sheetname).Range("A2:A6").AutoFilter(1)
xl.ActiveWorkbook.Close(SaveChanges=1)
Run Code Online (Sandbox Code Playgroud)

我在网上查看了有关 pywin32 和 Microsoft 站点的文档,但不知道如何将 MS 语法转换为 pywin32

Range("A2:A6").AutoFilter Field:=1, Criteria1:=rng.Value
Run Code Online (Sandbox Code Playgroud)

小智 5

我遇到了同样的问题,经过一些实验,我发现可以在Columns属性上设置一个范围。由于我想对 A 列到 I 列进行自动过滤,因此我将条件设置如下:

xl.ActiveWorkbook.ActiveSheet.Columns("A:I").AutoFilter(1)

这对我有用。我假设您想在 B 到 F 列上进行过滤,因为仅对列启用了自动过滤。也许以下标准适合您:

xl.ActiveWorkbook.ActiveSheet.Columns("B:F").AutoFilter(1)

阿洛克