Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.01.2010, 16:14   #1
Tirendus
Форумчанин
 
Аватар для Tirendus
 
Регистрация: 20.03.2009
Сообщений: 272
По умолчанию Поиск в Excel

Не могу использовать поиск через Delphi 7 в Excel 2007. При попытке выполнить такой кусок кода:

Код:
workbooks[1].WorkSheets[1].Range['a1:a900'].Find(
What:=range,
LookIn := xlValues,
SearchOrder:=xlByColumns,
SearchDirection := xlNext);
Компилятор пишет, что не знает что это xlValues, xlByColumns, xlNext.
Во всех примерах, которые я находил, люди уже использовали эти значения, мой делфи, почему-то, не хочет.

Думал, что поиск можно легко заменить парочкой циклов, но программа выполняется где-то минут 10, а это не дело.

Подскажите пожалуйста, как сделать так, что бы заработали эти значения (xlValues, xlByColumns, xlNext)?

И где тут "БД в Delphi" ?
Переношу в общие вопросы.

Последний раз редактировалось mihali4; 20.01.2010 в 17:37.
Tirendus вне форума Ответить с цитированием
Старый 20.01.2010, 19:04   #2
lexaltd
Форумчанин
 
Регистрация: 21.07.2008
Сообщений: 192
По умолчанию

Добавь в uses - ExcelXP или Excel2000 точно не помню
lexaltd вне форума Ответить с цитированием
Старый 21.01.2010, 09:09   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Во всех примерах, которые я находил, люди уже использовали эти значения,
Видимо люди подключали COM сервер Экзеля через CreateOleObject, или действительно пользовались компонентами из вкладки Servers, где есть фичи работы с MS OFFICE.
Набери в поиске CreateOleObject('Excel.Application' );
И посмотришь как подключают.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 21.01.2010, 10:39   #4
Tirendus
Форумчанин
 
Аватар для Tirendus
 
Регистрация: 20.03.2009
Сообщений: 272
По умолчанию

Цитата:
Сообщение от lexaltd Посмотреть сообщение
Добавь в uses - ExcelXP или Excel2000 точно не помню
Супер, большое спасибо

Stilet
XL:= CreateOLEObject('Excel.Application' );

Я таким методом пользуюсь, но всё равно спасибо

Есть еще вопрос по теме.

Код:
bla:= XL.workbooks[1].worksheets[1].range['a1:b950'].find(
      What:='SX1',
      LookIn:=xlValues,
      SearchOrder:=xlByColumns,
      SearchDirection:=xlNext);
Вот таким методом нашел значение, а как узнать адрес ячейки, в которой оно находится?


Решено

Код:
      VarClear(bla);
      bla:= XL.workbooks[1].worksheets[1].range['a1:b950'].find(
      What:='SX1',
      LookIn:=xlValues,
      SearchOrder:=xlByColumns,
      SearchDirection:=xlNext);
      Showmessage(bla);

      if not VarIsEmpty(bla) then Firstaddress:=bla.address;
      showmessage(inttostr(bla.column));

      showmessage(firstaddress);

Последний раз редактировалось Tirendus; 21.01.2010 в 11:12.
Tirendus вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Excel поиск решения yura16 Microsoft Office Excel 7 14.12.2012 02:57
Поиск в Excel rti Microsoft Office Excel 2 16.01.2010 00:01
Поиск решения аналогично Excel Mikhail Bakurov Помощь студентам 14 21.09.2009 22:50
Поиск в Excel VVVasek Microsoft Office Excel 11 20.09.2008 17:47
[vba]поиск по сторокам в excel CJartem Microsoft Office Excel 9 19.05.2008 11:31