![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как вызвать метод 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-)
Вообще-то, это, скорее всего, тип данных - сортировать как строки, сортировать как числа и т.д. По идее, должен уметь определяться автоматически. Попробуй...