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

Вниз

Excel   Найти похожие ветки 

 
Igor_thief   (2002-11-10 21:33) [0]

Дорогие Мастера. Как программно можно найти нужную ячейку в таблице Excel’я не перебирая при этом все ячейки в цикле (вызвать стандартный диалог поиска строки в Excel не показывая его пользователю)? Мне для решения задачи надо определить номер рядка в котором находится указанная строка. Excel Xp, Windows Xp.


 
vidiv   (2002-11-11 02:33) [1]

Я знаю, но я не Мастер. :(


 
Рыжик   (2002-11-11 08:41) [2]

Range:=Workbook.Cells.Find("tra-la-la",EmptyParam, EmptyParam, ...)


 
Igor_thief   (2002-11-11 16:35) [3]

Рыжик © (11.11.02 08:41)
Спасибо. Я проверю.


 
Igor_thief   (2002-11-11 20:08) [4]

Рыжик © (11.11.02 08:41)
Я попробовал, но этот вариант не работает. Выдается ошибка конвертации типов. Ты не мог бы привести примерчик по-подробние. Написать маленькую прогу которая реализовует сабж? Зарание благодарен. Я при работе с Excel использую компоненты ExcelApplication, ExcelWorkBook... с вкладки Servers.

vidiv © (11.11.02 02:33)
Раскажи.


 
Рыжик   (2002-11-12 11:25) [5]

procedure TForm1.Button1Click(Sender: TObject);
var i:integer;
ISheet:_Worksheet;
IR,FoundRange:Excel2000.Range;
begin
IDispatch(ISheet) := ExcelApplication1.ActiveWorkbook.Worksheets.Item["Sheet1"];
IDispatch(IR) := Olevariant(ISheet).Cells;
IDispatch(FoundRange) := OleVariant(IR).Find(What:="tra-la-la", LookIn := xlValues, LookAt := xlWhole);
if FoundRange<>nil then
begin
i:=FoundRange.Row;
ShowMessage(IntToStr(i));
end
else ShowMessage("Ничего не найдено");
end;


 
Igor_thief   (2002-11-15 20:10) [6]

Рыжик © (12.11.02 11:25)
Спасибочки, я попробую.


 
Igor_thief   (2002-11-15 20:30) [7]

Office Xp, Windows Xp.
Список ошибок которые выдает компилятор D7:

Build
[Error] Unit1.pas(44): Undeclared identifier: "Excel2000" //IR,FoundRange:Excel2000.Range;
[Error] Unit1.pas(44): "," or ":" expected but ";" found
[Error] Unit1.pas(45): Type expected but "BEGIN" found
[Error] Unit1.pas(49): Operator not applicable to this operand type //if FoundRange<>nil then
[Error] Unit1.pas(51): Missing operator or semicolon //i:=FoundRange.Row;
[Fatal Error] Project1.dpr(5): Could not compile used unit "Unit1.pas"


 
Рыжик   (2002-11-19 08:56) [8]

Excel2000 - это у меня. Надо написать свою версию. Если вы используете компоненты с закладки Servers, то посмотрите, какой модуль там указывается в uses и замените Excel2000 в приведённом коде на нужный. Хотя можно и вообще это дело опустить и написать так: IR,FoundRange:Range; Тогда получите что-то типа "warning: symbol "Range" is specific to a platform". Но работать всё-равно должно.


 
Igor_thief   (2002-11-19 13:01) [9]

Я проверю!


 
Igor_thief   (2002-12-07 13:13) [10]

Не работает!


 
Neox   (2002-12-07 13:25) [11]

Долго, однако, проверял :)


 
Igor_thief   (2002-12-07 21:49) [12]

To Neox ©
Да я сразу проверил, но в форум долго не писал. Я писал сразу на мыло к Рыжик.



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

Форум: "Потрепаться";
Текущий архив: 2002.12.26;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.58 MB
Время: 0.034 c
14-86164
TTCustomDelphiMaster
2002-12-06 15:34
2002.12.26
Пятница - банно стаканный день


6-86054
Repeater
2002-10-29 20:49
2002.12.26
Как работать с SOCKS сервером?


14-86168
krotik
2002-12-06 17:16
2002.12.26
Разница между Professional и Enterprise


8-86043
ArhAngel2
2002-09-07 21:22
2002.12.26
Библиотека dglut.pas


14-86111
Сергей Бушин
2002-12-05 15:04
2002.12.26
Конфликты с драйверами





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский