Помощь - Поиск - Пользователи - Календарь
Полная версия: Объединение файлов
Форум «Всё о Паскале» > Современный Паскаль и другие языки > Делфи
Yurka
Вопрос: как можно програмно объединть несколько файлов в один. Есть 10 вордовских файлов с названиями 1.doc, 2.doc, ..., 10.doc. Их нужно объединть в один файл Plan.doc, так чтобы содержимое каждого начиналось с нового листа. Может есть пример выполнения кода, для такого типа заданий?
IUnknown
Цитата
как можно програмно объединть несколько файлов в один
Легко:
procedure TForm1.Button1Click(Sender: TObject);
var
MsWord : Variant;
i : integer;
begin
// Ошибки не обрабатывал
MsWord := CreateOleObject('Word.Application');
MsWord.Visible := true;
MsWord.Documents.Add;

for i := 1 to 10 do
begin
MsWord.Selection.InsertFile(FileName := Format('F:\%d.doc', [i])); // Путь укажешь сам
MsWord.Selection.InsertBreak(Type := wdPageBreak); // wdPageBreak = 7
end;

// Всё, сохраняешь новый документ, и закрываешь Word
end;
Yurka
Цитата(IUnknown @ 20.04.2012 12:12) *

Легко:
procedure TForm1.Button1Click(Sender: TObject);
var
MsWord : Variant;
i : integer;
begin
// Ошибки не обрабатывал
MsWord := CreateOleObject('Word.Application');
MsWord.Visible := true;
MsWord.Documents.Add;

for i := 1 to 10 do
begin
MsWord.Selection.InsertFile(FileName := Format('F:\%d.doc', [i])); // Путь укажешь сам
MsWord.Selection.InsertBreak(Type := wdPageBreak); // wdPageBreak = 7
end;

// Всё, сохраняешь новый документ, и закрываешь Word
end;


большое спасибо!!!! ещеё такой вопрос: файлы находятся в катаоге спрограммой, то есть полный путь может разный. как записать , чтобы программа постоянно брала файлы из текущего каталога и пользователя ничего не спрашивала?
IUnknown
MsWord.Selection.InsertFile(FileName := Format('%s\%d.doc', [ExtractFileDir(Application.Exename), i]));
Yurka
Цитата(IUnknown @ 20.04.2012 13:30) *

MsWord.Selection.InsertFile(FileName := Format('%s\%d.doc', [ExtractFileDir(Application.Exename), i]));


good.gif Спасибо!!!
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.