Главная страница
    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.032 c
4-1091676147
DarkMan
2004-08-05 07:22
2004.10.10
Ярлык на рабочем столе


1-1096128075
Bes
2004-09-25 20:01
2004.10.10
Потоки грузят проц...


1-1095613265
Chizh
2004-09-19 21:01
2004.10.10
ActionManager.Style


1-1096051032
ALex G
2004-09-24 22:37
2004.10.10
Загруска вордовских файлов через Олекантейнер


8-1089901612
Time
2004-07-15 18:26
2004.10.10
WAV/MP3/MP2/MP1/OGG





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