| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: ActiveX/СОМ/CORBA > Не работает Sort! |
| Автор: Litta 5.8.2008, 17:42 |
| Приветствую! Проблема в следующем: нужно отсортировать данные в файле. Файл формируется из Delphi,7 состоит из шапки и двух столбцов A - id товара, B - его название, изначально данные записываются по порядку id, соответственно в файле требуется отображение по алфавиту! Сортировку прописываю так: EWs.Range['A4','B'+IntToStr(n)].Sort(EWs.Range['B4','B'+IntToStr(n)],xlAscending, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, xlGuess, 1, False, xlTopToBottom, EmptyParam, xlSortNormal, EmptyParam, EmptyParam); В результате выполнения получаю ошибку типа "Could not convert variant of type (Error) into type (Boolaen)" ! В uses модуля прописан и Excel2000 и ExcelXP, если Excel2000 убрать - ничего не меняется (на машине, кстати 2003 стоит). В качестве первого параметра указано "EWs.Range['B4','B'+IntToStr(n)]", хотя в примерах пишут EWs.Range['B5'] - но у меня в этом случае при компиляции сразу возникает ошибка о нехватке параметров! В чём проблема??? |
| Автор: Litta 6.8.2008, 10:22 |
| Ну не знаю, всё вроде уже пересмотрел, расставил... Key1 - EWs.Range['B4','B'+IntToStr(n)] Order1 - xlAscending Key2 - у меня его по-идее ведь нету, поэтому EmptyParam Type - ставил и xlSortValues и EmptyParam Order2 - тоже нету (EmptyParam) Key3 - EmptyParam Order3 - EmptyParam Header - было и xlGuess и xlNo (это потом когда прочитал что оно значит) OrderCustom - 1 MatchCase - ставил и False и True Orientation - так же было и xlTopToBottom и xlSortColumns SortMethod - EmptyParam DataOption1 - xlSortNormal DataOption2 - EmptyParam DataOption3 - EmptyParam А всё равно не работает |
| Автор: Albinos_x 6.8.2008, 13:05 |
EmptyParam пробовал ставить? |
| Автор: Litta 6.8.2008, 15:16 |
| Попробовал! Но ничего нового! В итоге написал даже так: EWs.Range['A4','B'+IntToStr(n)].Select; //эта строка полагаю не обязательна, но на всякий случай добавил EWs.Range['A4','B'+IntToStr(n)].Sort (EWs.Range['B4','B'+IntToStr(n)],EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam); Но ошибка всё таже :( |
| Автор: Veroonya 24.7.2009, 05:24 | ||
| Тоже занимаюсь проблемой упорядочивания, подскажите, откуда брать EmptyParam - он говорит Undeclared identifier: 'EmptyParam' Упорядочивает по возрастанию у меня так:
Но это через переменные типа variant, а не через ExcelWorksheet1, ExcelApplication 1 и тд Мне нужно упорядочить по убыванию, но я не знаю как |
| Автор: Albinos_x 30.7.2009, 23:16 |
| EmptyParam в модуле Variants Добавлено через 2 минуты и 38 секунд запиши макрос и посмотри как тм написано, деалй по аналогии не ошибёшся) |