Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Corba";
Текущий архив: 2007.09.02;
Скачать: [xml.tar.bz2];

Вниз

Как вызвать метод 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 вся ветка

Форум: "Corba";
Текущий архив: 2007.09.02;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.044 c
2-1186943912
Aika
2007-08-12 22:38
2007.09.02
IMAGE


8-1164182824
DancerMan
2006-11-22 11:07
2007.09.02
*.JPEG true color -> 256 grays


2-1186484910
Strate
2007-08-07 15:08
2007.09.02
Перевод из строки в TDateTime


15-1186321802
bagos
2007-08-05 17:50
2007.09.02
Господа помогите найти


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





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский