Здравствуйте. Имеется такая задача - из нескольких десятков файлов excel поиском по ячейкам найти файлы, содержащие определенную фамилию, и строку,содержащую эту фамилию вывести в отдельный файл, тоже excel. Как искать в текущем документе, я нашел, в новый файл тоже думаю выведу результаты поиска, а вот как по очереди их открывать - не знаю...
Код:
procedure TForm4.Button1Click(Sender: TObject);
var
exApp, exBook, exSheet, exRng, exCell : Variant;
Od : TOpenDialog;
begin
Od := OpenDialog1;
if not Od.Execute then Exit;
try
exApp := CreateOleObject('Excel.Application');
exApp.Visible := True;
exBook := exApp.WorkBooks.Open(FileName:=Od.FileName);
//Первый лист в рабочей книге.
exSheet := exBook.WorkSheets[1];
//Используемый на листе диапазон.
exRng := exSheet.UsedRange;
//Поиск ячейки.
exCell := Unassigned;
exCell := exRng.Find(What:='Мукина');
if TVarData(exCell).VDispatch = nil then
ShowMessage('Соответствие не найдено.')
else
ShowMessage(
'Соответствие найдено: Cell['
+ IntToStr(exCell.Row) + ';' + IntToStr(exCell.Column) + ']'
)
;
//exApp.Quit;
finally
//Отключаемся от объектов OLE-автоматизации.
exApp := Unassigned;
exBook := Unassigned;
exSheet := Unassigned;
exRng := Unassigned;
exCell := Unassigned;
end;
end;