如何解决Python win32com.client Excel xlTopCount
我试图仅返回数据透视表中的前 10 个值。这是 VBA
ActiveSheet.PivotTables("PivotTable2").PivotFields("Account Number"). _
PivotFilters.Add2 Type:=xlTopCount,DataField:=ActiveSheet.PivotTables( _
"PivotTable2").PivotFields("$$"),Value1:=11
我尝试了以下几种不同的方法,但均无济于事。
ws.PivotTables(pt_name).PivotFields('Charges').Type=win32c.xlTopCount
ws.PivotTables(pt_name).PivotFields('Charges').AddPivotFilters(ws.PivotTables(pt_name).PivotFields("$$",11).NumberFormat = win32c.xlTopCount
我错过了什么?
解决方法
您的问题不包括您收到的错误消息(为什么不呢?),但我猜您在 win32c.xlTopCount
处收到 NameError,因为没有模块 {{1} }.除非,当然你有一些类似 win32c
的东西,在这种情况下你会得到一个 AttributeError。
import win32com as win32c
是 VBA 常量,而不是 PythonWin 常量,并且通常 PythonWin 没有此类常量的 Python 类似物。您应该查找它们。检查 documentation 以了解您要执行的操作将很快显示 xlTopCount
的值为 1。
所以使用 xlTopCount
而不是不存在的常量 1
。