Модераторы: MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Не работает Sort! 
:(
    Опции темы
Litta
  Дата 5.8.2008, 17:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 55
Регистрация: 14.3.2006

Репутация: 1
Всего: 1



Приветствую!

Проблема в следующем: нужно отсортировать данные в файле. Файл формируется из 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'] - но у меня в этом случае при компиляции сразу возникает ошибка о нехватке параметров!

В чём проблема???
PM MAIL   Вверх
Albinos_x
Дата 5.8.2008, 19:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Evil Skynet
****


Профиль
Группа: Комодератор
Сообщений: 3288
Регистрация: 28.5.2004
Где: X-6120400 Y-1 4624650

Репутация: 15
Всего: 108



Цитата(Litta @  5.8.2008,  17:42 Найти цитируемый пост)
В uses модуля прописан и Excel2000 и ExcelXP, если Excel2000 убрать - ничего не меняется (на машине, кстати 2003 стоит)

и не должно... будет по умолчанию использовать тот модуль, который было предложено выбрать при установке...

Цитата(Litta @  5.8.2008,  17:42 Найти цитируемый пост)
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);

имхо, косяк в расстановке параметров...:
Код

ExcelWorksheet1.Range['B4','B10'].Sort(Key1, Order1, key2, type_, Order2, Key3,
                                                               Order3, Header, OrderCustom, MatchCase,
                                                               Orientation, SortMetod, DataOption1,
                                                               DataOption2, DataOption3);




--------------------
"Кто владеет информацией, тот владеет миром"    
Уинстон Черчилль
PM MAIL ICQ   Вверх
Litta
Дата 6.8.2008, 10:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 55
Регистрация: 14.3.2006

Репутация: 1
Всего: 1



Ну не знаю, всё вроде уже пересмотрел, расставил...

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

А всё равно не работает  smile 
PM MAIL   Вверх
Albinos_x
Дата 6.8.2008, 13:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Evil Skynet
****


Профиль
Группа: Комодератор
Сообщений: 3288
Регистрация: 28.5.2004
Где: X-6120400 Y-1 4624650

Репутация: 15
Всего: 108



Цитата(Litta @  6.8.2008,  10:22 Найти цитируемый пост)
MatchCase - ставил и False и True

EmptyParam пробовал ставить?


--------------------
"Кто владеет информацией, тот владеет миром"    
Уинстон Черчилль
PM MAIL ICQ   Вверх
Litta
Дата 6.8.2008, 15:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 55
Регистрация: 14.3.2006

Репутация: 1
Всего: 1



Попробовал! Но ничего нового!

В итоге написал даже так:

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);

Но ошибка всё таже :(
PM MAIL   Вверх
Veroonya
Дата 24.7.2009, 05:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 69
Регистрация: 10.10.2008
Где: Россия, Омск

Репутация: нет
Всего: 1



Тоже занимаюсь проблемой упорядочивания, подскажите, откуда брать EmptyParam - он говорит Undeclared identifier: 'EmptyParam'

Упорядочивает по возрастанию у меня так:
Код

Excel.Selection.Sort(Sheet.Range['C1:C'+inttostr (Excel.ActiveSheet.UsedRange.Rows.Count)]);

Но это через переменные типа variant, а не через ExcelWorksheet1, ExcelApplication 1 и тд

Мне нужно упорядочить по убыванию, но я не знаю как  smile 

Это сообщение отредактировал(а) Veroonya - 24.7.2009, 05:24
PM MAIL ICQ   Вверх
Albinos_x
Дата 30.7.2009, 23:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Evil Skynet
****


Профиль
Группа: Комодератор
Сообщений: 3288
Регистрация: 28.5.2004
Где: X-6120400 Y-1 4624650

Репутация: 15
Всего: 108



EmptyParam в модуле Variants

Добавлено через 2 минуты и 38 секунд
Цитата(Veroonya @  24.7.2009,  05:24 Найти цитируемый пост)
Мне нужно упорядочить по убыванию, но я не знаю как

запиши макрос и посмотри как тм написано, деалй по аналогии не ошибёшся)

Это сообщение отредактировал(а) Albinos_x - 30.7.2009, 23:17


--------------------
"Кто владеет информацией, тот владеет миром"    
Уинстон Черчилль
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: ActiveX/СОМ/CORBA"

Rrader
Girder

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


  • Литературу по Delphi обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Delphi
  • Вопросы по SQL и вопросы по базам данных, не связанные с Delphi, задавать здесь

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Rrader, Girder.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: ActiveX/СОМ/CORBA | Следующая тема »


 




[ Время генерации скрипта: 0.0885 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.