|
Вопрос # 5 497/ вопрос открыт / |
|
Здравствуйте, уважаемые эксперты!
Подскажите как реализовать следующее.
Имеются много файлов Excel (Tabl1.xls,Tabl2.xls......Tabl30.xls)
Необходимо поочередно открыть каждый файл, найти в первой колонке единственного листа все строки, содержащие текст "Иванов Иван Иванович" и скопировать эти строки в Лист1 Книги TABL_ALL.xls, предварительно в строке выше копируемых данных указать имя файла с которого эти данные скопированы.
Т.е. должно получиться построчно в виде
Tabl1.xls
Иванов Иван Иванович_бла_бла_бла_бла
Иванов Иван Иванович_блу_блу_блу_блу
Tabl12.xls
Иванов Иван Иванович_1_2_3_4
Иванов Иван Иванович_23_45_56_15
.............
Tabl28.xls
Иванов Иван Иванович_6_4_10_5
Иванов Иван Иванович_90_23_56_78
Найти строку в одном файле не проблема, если я правильно понимаю (см.приложение)
А как в цикле по файлам и как с именем файла????
Заранее благодарен
Al_Sha
Приложение: Переключить в обычный режим- procedure TForm1.Button1Click(Sender: TObject);
- var
- XL: Variant;
- i: Integer;
- begin
- XL := CreateOLEObject('Excel.Application');
- XL.WorkBooks.add;
- XL.WorkBooks.Open('C:\Tabl1.xls');
- L.Visible:=true;
-
-
- begin
-
- begin
- XL.Rows[I].Copy;
- end;
- end;
- end;
 |
Вопрос задал: Al_Sha (статус: Посетитель)
Вопрос отправлен: 12 июля 2011, 23:30
Состояние вопроса: открыт, ответов: 0.
|
Мини-форум вопроса
Всего сообщений: 2; последнее сообщение — 13 июля 2011, 09:49; участников в обсуждении: 2.
|
min@y™ (статус: Доктор наук), 13 июля 2011, 08:27 [#1]:
Цитата (Al_Sha):
А как в цикле по файлам и как с именем файла????
var
Index: Integer;
FileName: string;
begin
for Index:= 1 to 30 do
begin
FileName:= Format('C:\Tabl%d.xls', [Index]); // имя файла
// ну а здесь делаешь ту хрень,
// которая у тебя в приложении к вопросу.
end;
end;
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
Al_Sha (статус: Посетитель), 13 июля 2011, 09:49 [#2]:
Спасибо...
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|