Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
3-1094715833
Andrey
2004-09-09 11:43
2004.10.10
Проблема с заполнением comboBox


1-1096297171
Skywalker
2004-09-27 18:59
2004.10.10
Выделение памяти


1-1096288343
Madness
2004-09-27 16:32
2004.10.10
как нажать кнопку?


3-1095073859
Miau
2004-09-13 15:10
2004.10.10
Excel и MSSQL2000


14-1095682249
infom
2004-09-20 16:10
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский