Главная страница
    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.45 MB
Время: 0.035 c
6-1091186441
serg128
2004-07-30 15:20
2004.10.10
Как сделать рассылку одного сообщения нескольким машинам?


1-1095715640
lipskiy
2004-09-21 01:27
2004.10.10
Функция поиска подстроки в строке на asmе


4-1094652268
Ivanov_F.
2004-09-08 18:04
2004.10.10
Как узнать сколько занимает в памяти какой-то процесс?


14-1095630775
Knight
2004-09-20 01:52
2004.10.10
Бортовой "компьютер" БК-06...


14-1095788642
Knight
2004-09-21 21:44
2004.10.10
А почему @ - "собака"?





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