Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.10.10;
Скачать: CL | DM;

Вниз

опять Excel... поиск по листам?   Найти похожие ветки 

 
misha123   (2004-09-22 20:46) [0]

Знаю, что Excel"ем все уже замучались :), но вроде мой вопрос нигде не освещался:

нужно сделать поиск в Excel файле. Информация разбита по листам в одном файле. Как-то нужно вызвать функцию "Поиск по всем листам в книге" - в Excel"е так и называется - "Найти и заменить".

Записать-прочитать данные - не проблема, а вот для поиска макрос не поможет.

Работаю, как:

ex: OleVariant;

ex:=CreateOleObject("Excel.Application");


Спасибо.


 
misha123   (2004-09-22 21:22) [1]

Да... еще есть что добавить :)
Для первого вопроса записал макрос:

   Range("B18").Select
   ActiveCell.FormulaR1C1 = "1234"
   Range("E29").Select
   Cells.Find(What:="123", After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
       xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
       , SearchFormat:=False).Activate

Здесь непонятно как вызвать из delphi cells.find(....).activate

Второй вопрос: нужно удалять-добавлять-вставлять новые строки или столбцы.

Макрос прилагается:
   Rows("11:11").Select
   Selection.Insert Shift:=xlDown
   Rows("15:15").Select
   Selection.Delete Shift:=xlUp
   Sheets("Ëèñò1").Select
   Sheets("Ëèñò1").Name = "123"
   Range("C12").Select

Надеюсь, что бить никто не будет :)


 
YurikGL ©   (2004-09-22 21:41) [2]


> misha123   (22.09.04 20:46)  

Кроме написания макросов есть еще один способ получения синтаксиса нужных функций.

Например, нам надо переименовать лист макрос, если я не ошибаюсь, как раз

>    Sheets("Ëèñò1").Select
>    Sheets("Ëèñò1").Name = "123"

В этом случае, кидаем на форму компонент ExcelSheet, набираем в любой процедуре ExcelSheet. и нажимаем ctrl+пробел. Потом там внимательно изучаем появившийся список. Там есть простые функции которых с помощью макроса никогда не получишь.

Потом те же самые функции и свойства можно использовать в ex: OleVariant;


 
misha123   (2004-09-28 13:01) [3]

я все это уже смотрел - толкового ничего нет (вернее функцию саму нашел, но непонятно какие параметры ей надобно передавать - пробовал те, которые были в макросе, не помогло...).
Сделал через запуск макроса (поиск) из своей программки, но проблема новая - если ничего не найдено - у бейсика возникает эксепшион и останов, соответственно я тоже валюсь...
Что здесь можно сделать? (например, как сказать бейсику чтобы не стопил процесс, а просто говорил через какую-нибудь переменную - не нашел)



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

Текущий архив: 2004.10.10;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.026 c
1-1095853643
Кукушкинд
2004-09-22 15:47
2004.10.10
Фрэймы в дэльфи....


14-1095848482
Григорьев Антон
2004-09-22 14:21
2004.10.10
Забавная картинка из корейского метро


3-1094813399
Vilkkkka
2004-09-10 14:49
2004.10.10
Firebird & Interbase


6-1091398924
НовиЧок
2004-08-02 02:22
2004.10.10
Убить фрейм в WebBrowser e


4-1093016886
Александр1
2004-08-20 19:48
2004.10.10
Запись CD