Форум: "Основная";
Текущий архив: 2004.10.10;
Скачать: [xml.tar.bz2];
Внизопять 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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.039 c