0
我想翻译这个宏到Python 2.7,VBA的Sort.SetRange到Python win32com(Excel)中
Sheets("Données CENTRE").Select
Columns("A:G").Select
Application.CutCopyMode = False
ActiveWorkbook.Worksheets("Données CENTRE").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Données CENTRE").Sort.SortFields.Add Key:=Range("A2:A4644" _
), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("Données CENTRE").Sort.SortFields.Add Key:=Range("B2:B4644" _
), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("Données CENTRE").Sort.SortFields.Add Key:=Range("C2:C4644" _
), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("Données CENTRE").Sort.SortFields.Add Key:=Range("D2:D4644" _
), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Données CENTRE").Sort
.SetRange Range("A1:G4644")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
但是最后一部分是给我一个headeach,根据对Excel文档SortRange被suposed仅在Sort对象上调用。
但蟒蛇告诉我:排序实例没有呼叫方法
这是我如何把它翻译:
ws = wb.Sheets("Données Centre")
ws.Columns("A:G").Select
ws.Sort.SortFields.Clear()
ws.Sort.SortFields.Add(Key=ws.Range("A2:A4644"),
SortOn=constants.xlSortOnValues,
Order=constants.xlAscending,
DataOption=constants.xlSortNormal)
ws.Sort.SortFields.Add(Key=ws.Range("B2:B4644"),
SortOn=constants.xlSortOnValues,
Order=constants.xlAscending,
DataOption=constants.xlSortNormal)
ws.Sort.SortFields.Add(Key=ws.Range("C2:C4644"),
SortOn=constants.xlSortOnValues,
Order=constants.xlAscending,
DataOption=constants.xlSortNormal)
ws.Sort.SortFields.Add(Key=ws.Range("D2:D4644"),
SortOn=constants.xlSortOnValues,
Order=constants.xlAscending,
DataOption=constants.xlSortNormal)
ws.Sort(Header=constants.xlYes,
MatchCase=False,
Orientation=constants.xlTopToBottom,
SortMethod=constants.xlPinYin).SetRange(ws.Range("A1:G4644")).Apply()
我完全迷失了方向