Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 29.06.2009, 22:55
Al_Sha Al_Sha вне форума
Прохожий
 
Регистрация: 29.06.2009
Сообщения: 6
Репутация: 10
По умолчанию Не получается поиск в файлах Excel через Listbox..ПОМОГИТЕ

Здравствуйте!
Прошу помощи...
Задача в общем то простая.
Необходимо через ListBox (в ListBox уже добавлено несколько файлов Excel) поочередно открывая (инициализируя) файлы Excel
произвести в них поиск определенного текста, и если он находится в файле, то сохранить
файл с именем найденного текста.
Делаю как ниже приведено, но что-то не работает...
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
Rnge: OleVariant;
k:Integer;
begin
for k:=0 to ListBox1.ItemIndex-1 do begin      
E.WorkBooks.item(ListBox1.Items[ListBox1.ItemIndex]).Activate;
Rnge := E.ActiveWorkBook.ActiveSheet.Cells;
Rnge := Rnge.Find('40.10.2');
if Pointer(IDispatch(Rnge)) <> nil then
  Rnge.Interior.Color := clFuchsia;
E.WorkBook.SaveAs(FileName:=(Rnge.Value)+' .xls');
 end;
 end;

Почему-то не идет перебор и файл не сохраняется...
Подскажите, что не так...
Заранее благодарен
Al_Sha

---
Aristarh Dark: пользуемся тэгами
Ответить с цитированием
  #2  
Старый 04.07.2009, 23:01
Аватар для pesi
pesi pesi вне форума
Активный
 
Регистрация: 12.09.2008
Сообщения: 275
Репутация: 43
По умолчанию

вот вроде работает
Код:
procedure TForm1.Button3Click(Sender: TObject);
var
e : OleVariant;
i, p, u : integer;
begin
e:= CreateOleObject('Excel.Application');
e.Visible:=true;

for u:=1 to listbox1.Count do
begin
 e.WorkBooks.open(ExtractFilePath(ParamStr(0))+listbox1.Items[u-1]);
  p:=0;
  for  i:=1 to e.WorkSheets.count do
  e.Sheets[i].SELECT;
  begin
    try
     e.cells.Find('7').select;
     inc(p);
    except
   end;
  if p>0 then
   begin
    E.activeWorkBook.SaveAs(ExtractFileDir(ParamStr(0))+'\' + '-' + listbox1.Items[u-1]);
    E.activeWorkBook.close;
   end;
 end;
end;
E.Quit;
E := Unassigned;
end;
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 14:18.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter