Бих искал да сортирам диапазон. Първият ред (ред 3 в работната книга на Excel) съдържа заглавията на графите, които се нуждаят от сортиране, отляво надясно, във възходящ ред:
Excel.Range tempRange = ws.get_Range("F3", "H8");
tempRange.Sort(Type.Missing,
Excel.XlSortOrder.xlAscending,
Type.Missing,
Excel.XlSortOrder.xlAscending,
Excel.XlSortOrder.xlAscending,
Type.Missing,
Excel.XlSortOrder.xlAscending,
Excel.XlYesNoGuess.xlYes,
Type.Missing,
Type.Missing,
Excel.XlSortOrientation.xlSortColumns,
Excel.XlSortMethod.xlPinYin,
Excel.XlSortDataOption.xlSortNormal,
Excel.XlSortDataOption.xlSortNormal,
Excel.XlSortDataOption.xlSortNormal);
Това понастоящем генерира грешка "Метода за сортиране на класа от тип" не е успешен ".
Опитах различни параметри в началото нано това генерира "Препратката за сортиране не е валидна.Уверете се, че тя е в данните, които искате да сортирате, а първата кутийка Сортирай по не е същото или празно".
Къде отивам?
Еквивалентът на VBA работи добре:
With ActiveWorkbook.Worksheets("Sheet1").Sort
.SetRange Range("F3:H8")
.Header = xlYes
.MatchCase = False
.Orientation = xlLeftToRight
.SortMethod = xlPinYin
.Apply
End With
Много благодаря
Джо
Отговори:
1 за отговор № 1Посочих Обсегът като първи параметър и зададох ориентацията на Excel.XlSortOrientation.xlSortRows.
tempRange.Sort(tempRange,
Excel.XlSortOrder.xlAscending,
Type.Missing, Type.Missing,
Excel.XlSortOrder.xlAscending,
Type.Missing,
Excel.XlSortOrder.xlAscending,
Excel.XlYesNoGuess.xlYes,
Type.Missing,
Type.Missing,
Excel.XlSortOrientation.xlSortRows,
Excel.XlSortMethod.xlPinYin,
Excel.XlSortDataOption.xlSortNormal,
Excel.XlSortDataOption.xlSortNormal,
Excel.XlSortDataOption.xlSortNormal);
Полезна връзка:
http://social.msdn.microsoft.com/Forums/en-US/exceldev/thread/a699d754-98d5-4241-87da-8761c520ba72/