# Native Code > برنامه نویسی در Delphi >  ادغام دو فایل Word

## veronika

سلام
من می خواستم دو تا فایل word را در دلفی به هم بچسبونم و یکیشون کنم ولی نمی دونم چه جوری این کار را انجام بدم.ممنون میشم اگه کسی راهنمائیم کنه چون خیلی فوریه.

----------


## babak_delphi

تا جایی که من میدونم در کل برای ادغام کردن دو فایل (میتوان تعمیم داد) باید اول یک فایل خالی ایجاد کنی ، بعد فایل اول رو بدون Header به اون اضافه کنی ، بعد فایل دوم رو هم بدون Header به اون اضافه کنی و در نهایت برای فایل جدید با توجه به محتوای اون ، Header بسازی و اون رو Save کنی.

----------


## vcldeveloper

uses WordXP;

{-----------------------------------
Description:
  Merges two MS Word documents and saves the result in the first document.

Parameters:
  MainFile : The first document. The result of merge operation is saved in this file.
  SecondFile : The file to be added at the end of MainFile.

Return Values:
  True : Merge operation succeeded.
  False : Merge operation failed.

Remarks:
  Merging result is saved in MainFile.
History:

------------------------------------}
function MergeWordFiles(const MainFile: string; const SecondFile: string): Boolean;
var
  WordApp    : WordApplication;
  WordDoc    : WordDocument;
  MyParagrph : Variant;

  _vFileName1 : oleVariant;
  _vFileName2 : oleVariant;
  _vTrue      : oleVariant;
  _vFalse     : oleVariant;
  _vFormat    : oleVariant;
begin
  Result := False;

  //Initialize constants.
  _vTrue     := True;
  _vFalse    := False;
  _vFormat   := wdOpenFormatAuto;
  _vFileName1 := MainFile;
  _vFileName2 := SecondFile;
  //Open word application
  WordApp := CoWordApplication.Create;
  try
    WordApp.Visible := False;
    WordApp.DisplayAlerts := wdAlertsNone;
    //Open the document.
    WordDoc := WordApp.Documents.OpenOld(_vFileName1,_vFalse,_vFa  lse,_vFalse,
                                         EmptyParam,EmptyParam,EmptyParam,
                                         EmptyParam,EmptyParam,_vFormat);
    //Insert the second file to the document.
    MyParagrph := WordDoc.Paragraphs.Add(EmptyParam);
    MyParagrph.Range.InsertFile(SecondFile);
    //Save the document
    WordDoc.SaveAs(_vFileName1,EmptyParam,EmptyParam,E  mptyParam,EmptyParam,
                     EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyP  aram,
                   EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyP  aram,
                   EmptyParam);
    Result := True;
  finally
    //Close word application.
    WordApp.Quit(_vFalse,EmptyParam,EmptyParam);
    WordApp := nil;
  end;
end;


مثال:
MergeWordFiles('c:\doc1.doc','c:\doc2.doc');
در مثال بالا فایل های doc1 و doc2 با هم ادغام میشند و نتیجه در doc1 ذخیره میشه.

----------


## babak_delphi

اقای کشاورز
میشه لینک ، مرجع یا نمونهای جهت یادگیری کار با کامپوننت های تبِ Server (که مربوط به فایلهای مجموعه Office هستند) بدین
من نتونستم چیزی پیدا کنم

----------


## vcldeveloper

> میشه لینک ، مرجع یا نمونهای جهت یادگیری کار با کامپوننت های تبِ Server (که مربوط به فایلهای مجموعه Office هستند) بدین
> من نتونستم چیزی پیدا کنم


تمام کلاس های مربوط به Office به همراه متدها و خصوصیاتشون و انواع مثال ها در MSDN توضیح داده شدند؛ در شاخه Office Development. علاوه بر این، می تونید عباراتی مثل Delphi Office Automation را در اینترنت جستجو کنید.

----------

