Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как вызвать метод Sort класса Range из процедуры D6? [Delphi, Windows]


Дельфин ©   (2006-01-08 00:57:00) 

Господа!

Вот работающий вызов сортировки листа в VBA Excel:

Selection.Sort Key1:=Range(DayXStr + LimAreaT), Order1:=xlAscending, Key2:=Range("A2") _
, Order2:=xlAscending, Key3:=Range("B2"), Order3:=xlAscending, Header:= _
xlNo, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom

Имею:
XlApp : TExcelAppication;
WkBook : TExcelWorkBook;
WkSheet : TExcelWorkSheet;

Пожалуйста, напишите, как аналогичноVB вызвать Sort из процедуры Delphi.
Начинаю так:
WkSheet.Range['A1','AI1'].Sort(..................
Что дальше?

Практически все параметры в списке можно понять по прямой аналогии с VB, кроме параметра "Type_:OleVariant" - в чем его смысл?

Ни в доках, ни в хелпе, ни в инете - ни теории, ни примера......

Спасибо за внимание.


YurikGL   (2006-01-11 01:27:00) [1]

Если вдруг файла  Excel2000 не окажется, то можно воспользоваться способом описанным в

http://www.delphimaster.ru/articles/dbtoword/index.html

Если работать через CreateOleObject, то чтобы получить значение констант VisualBasic, которые Дельфи вообще говоря не понимает, надо внутри макроса написать MsgBox(нужная_константа). Тогда он покажет ее численное значение, их-то в Дельфи и использовать.


Дельфин   (2006-01-11 00:24:00) [2]

umbra

Уважаемый umbra! Господа и коллеги!

Сегодня мне, наконец, удалось раскрутить сортировку листа Excel из Delphi.  Озабоченных проблемой отсылаю на форум, где проходило горячее обсуждение:

http://www.progz.ru/forum/viewtopic.php?t=21254.


> Практически все параметры в списке можно понять по прямой
> аналогии с VB, кроме параметра "Type_:OleVariant" - в чем
> его смысл?


Параметр Type_- объявлен в группе констант XlSortTypeв Excel2000.

// Constants for enum XlSortType
type
 XlSortType = TOleEnum;
const
 xlSortLabels = $00000002;
 xlSortValues = $00000001;


Для меня эта тема закрыта. Спасибо всем, кто был со мной.


umbra   (2006-01-10 11:08:00) [3]

приведите для прояснения ситуации Ваш код на Делфи


Дельфин   (2006-01-08 15:05:00) [4]

Virgo_Style

оно конечно...
EmptyParam, - я и сам завсегда пишу, когда неясно, что именно надо.
Но беда в том, что при заполненном списке параметров, где в соответствии с типами переменных прописано либо 0, либо EmptyParam - компиляция проходит, а исполнение слетает по ошибке"Метод Sort завершен неверно"!

В хелпе В6 есть Type_ для TWebBrowser - типа WideString ( Indicates the type name of the contained document object.. - Из хелпа) В моем случае (учитывая, что OleVariant и WideString - близкие родственники) я не смог домыслить, что именно и в каком виде хочет D6 иметь на этом месте.

Три дня назад половину рабочего дня убил на метод Find - на место второго параметра ("After") писал адрес ячейки ('A2')... Пока не дошел в переборе вариантов до ExcelApplication1.ActiveCell- получал "неверное завершение метода Find"... Очень сильно подозреваю что-то похожее и сейчас.

Так вот неверное толкование параметра при отсутствии надежных доков и примеров - источник головной боли.
Потому и прошу - напишите за меня работающий вызов!..... У меня просто больше нет вариантов........


Virgo_Style   (2006-01-08 09:38:00) [5]

когда мне было что-то неясно, я всегда писал EmptyParam. Иногда не работало, но работало - гораздо чаще 8-)

Вообще-то, это, скорее всего, тип данных - сортировать как строки, сортировать как числа и т.д. По идее, должен уметь определяться автоматически. Попробуй...


Наверх

Титульная страница Поиск, карта сайта Написать письмо