是否可以通过Python(pywin32)访问Excel上的Slicers

时间:2019-06-25 13:41:36

标签: python excel filter pywin32

我正在使用pywin32(Excel的工作簿)。我必须保存一些表格中的图表。事实是,此工作表中有一个切片器,可以对某个变量进行过滤。我没有找到pywin32文档,而且我对如何(或无法)做到这一点没有任何线索。 谢谢

2 个答案:

答案 0 :(得分:0)

有对Office对象的引用。对于切片器https://docs.microsoft.com/en-us/office/vba/api/excel.pivottable.slicers,请注意,切片器是切片器集合的元素

from win32com.client import Dispatch
xl = Dispatch("Excel.Application")
wb = xl.Workbooks.Open("your_file.xlsx")
sl = wb.SlicerCaches("your_slicer")

答案 1 :(得分:0)

显然,在Excel中,其中有一个程序可以记录您单击的任何内容,因此,如果要操作过滤器/切片器,可以右键单击该元素,然后选择“分配宏”。然后,您可以单击离开,因为它记录了您的点击。完成操作后,您可以再次选择“分配宏”进行查看,然后会出现一个弹出窗口,您可以选择your_filter / slicer_name_Click,它将为您提供VBA代码。您所要做的就是更改它,使其适合python格式,或者可以像this一样实现它。