Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.09.02;
Скачать: CL | DM;

Вниз

Как вызвать метод Sort класса Range из процедуры D6?   Найти похожие ветки 

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

Господа!

Вот работающий вызов сортировки листа в 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" - в чем его смысл?

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

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


 
Virgo_Style ©   (2006-01-08 09:38) [1]

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

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


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

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"... Очень сильно подозреваю что-то похожее и сейчас.

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


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

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


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

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;


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


 
YurikGL ©   (2006-01-11 01:27) [5]

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

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

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



Страницы: 1 вся ветка

Текущий архив: 2007.09.02;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.027 c
2-1186407629
Василий
2007-08-06 17:40
2007.09.02
MainMenu в ToolBar e. А нет HotKeys. :(


2-1186648638
waif
2007-08-09 12:37
2007.09.02
ADO + access


2-1186654028
Балбес
2007-08-09 14:07
2007.09.02
Доступ к методам произвольных форм.


3-1178193423
Shura
2007-05-03 15:57
2007.09.02
Порядок сохранения записей в ClientDataSet


2-1186495479
Pal
2007-08-07 18:04
2007.09.02
глюк с Oracle