|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Не получается поиск в файлах 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
|
||||
|
||||
вот вроде работает
Код:
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; |