Как вызвать метод Sort класса Range из Delphi6?
От: Piero  
Дата: 08.01.06 19:11
Оценка:
Вот работающий вызов сортировки листа в 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;


Я начинаю так:

WkSheet.Range['A1','AI1'].Sort(..................


Пожалуйста, закончите за меня вызов сортировки листа Excel — аналогично VB — из процедуры Delphi.
Что дальше?
Параметры в списке можно понять по прямой аналогии с VB, кроме параметра "Type_:OleVariant" — в чем его смысл?

Ни в доках, ни в хелпе, ни в инете — ни теории, ни примера......
Помогите, пожалуйста...
Re: Как вызвать метод Sort класса Range из Delphi6?
От: ekamaloff Великобритания  
Дата: 09.01.06 07:46
Оценка:
Здравствуйте, Piero, Вы писали:

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


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


[...skipped...]

P>Я начинаю так:


P>
P>WkSheet.Range['A1','AI1'].Sort(..................
P>


P>Пожалуйста, закончите за меня вызов сортировки листа Excel — аналогично VB — из процедуры Delphi.

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

Ну раз ты не передавал этот параметр в варианте на VBA, значит его можно опустить и в варианте на Delphi. Для этого служит стандартная переменная EmptyParam. Ее можно задавать для "optional" параметров, коим является и Type (знак подчеркивания появляется после импортирования библиотеки типов в Delphi, поскольку type в последнем является ключевым словом).

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


Ну почему же, в MSDN есть Excel 2003 VBA Language Reference, в частности <b>вот</b> справка по методу Range::Sort. Из нее ты мог узнать что параметр Type используется только при сортировке отчетов "Pivot Table":

Type Optional Variant . Specifies which elements are to be sorted. Use this argument only when sorting PivotTable reports.

XlSortType can be one of these XlSortType constants.
xlSortLabels. Sorts the PivotTable report by labels.
xlSortValues. Sorts the PivotTable report by values.

It is always bad to give advices, but you will be never forgiven for a good one.
Oscar Wilde
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.