PDA

View Full Version : ادغام دو فایل Word



veronika
پنج شنبه 23 اسفند 1386, 18:15 عصر
سلام
من می خواستم دو تا فایل word را در دلفی به هم بچسبونم و یکیشون کنم ولی نمی دونم چه جوری این کار را انجام بدم.ممنون میشم اگه کسی راهنمائیم کنه چون خیلی فوریه.

babak_delphi
جمعه 24 اسفند 1386, 00:13 صبح
تا جایی که من میدونم در کل برای ادغام کردن دو فایل (میتوان تعمیم داد) باید اول یک فایل خالی ایجاد کنی ، بعد فایل اول رو بدون Header به اون اضافه کنی ، بعد فایل دوم رو هم بدون Header به اون اضافه کنی و در نهایت برای فایل جدید با توجه به محتوای اون ، Header بسازی و اون رو Save کنی.

vcldeveloper
جمعه 24 اسفند 1386, 03:15 صبح
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
جمعه 24 اسفند 1386, 11:49 صبح
اقای کشاورز
میشه لینک ، مرجع یا نمونهای جهت یادگیری کار با کامپوننت های تبِ Server (که مربوط به فایلهای مجموعه Office هستند) بدین
من نتونستم چیزی پیدا کنم

vcldeveloper
جمعه 24 اسفند 1386, 15:46 عصر
میشه لینک ، مرجع یا نمونهای جهت یادگیری کار با کامپوننت های تبِ Server (که مربوط به فایلهای مجموعه Office هستند) بدین
من نتونستم چیزی پیدا کنمتمام کلاس های مربوط به Office به همراه متدها و خصوصیاتشون و انواع مثال ها در MSDN توضیح داده شدند؛ در شاخه Office Development. علاوه بر این، می تونید عباراتی مثل Delphi Office Automation را در اینترنت جستجو کنید.