我想把这个宏翻译成 python 2.7,
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
然而,最后一部分给了我一个标题,根据 excel 文档,SortRange 应该只在 Sort 对象上调用。
但python告诉我:排序实例没有调用方法
我是这样翻译的:
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()
我很迷茫