5

pyWin32を使用してオートフィルターを設定できますが、デフォルトのフィルターを設定できるかどうか、および構文はどうなるのか疑問に思いました。

たとえば、年の列にフィルターを設定し、現在の年のデフォルトを設定したいとします。

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

pywin32とMicrosoftのサイトに関するドキュメントをWebで探しましたが、MS構文をpywin32に変換する方法がわかりません。

Range("A2:A6").AutoFilter Field:=1, Criteria1:=rng.Value
4

5 に答える 5

5

私は同じ問題にぶつかり、少し実験した後、Columns属性に範囲を設定できることがわかりました。列 A から I までをオートフィルター処理したかったので、次のように基準を設定しました。

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

これは私にとってはうまくいきました。オートフィルターは列に対してのみ有効になっているため、列 B から F までフィルター処理する必要があると想定しています。おそらく、次の基準が機能します。

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

アロック

于 2010-10-06T06:11:48.900 に答える