Mengcopy baris tertentu dari MS Word memakai Delphi
Suatu saat ketika menggunakan Delphi, kita ingin mengcopy baris tertentu dari dokumen MS Word ke dokumen yang lain, berikut adalah kode untuk proses tersebut, dimisalkan area yang akan dicopy adalah baris 5 sampai baris 14 :
uses ClipBrd, ComObj, Word2000;{$R *.dfm}
procedure TForm1.prosesCopy;
var FileName1,FileName2 : OleVariant;
Range : Variant;
WordApp: Variant;
NumPars,i : integer;
begin
Clipboard.Clear;
FileName1:=ExtractFilePath(Application.ExeName)+'First.doc';
FileName2:=ExtractFilePath(Application.ExeName)+'Second.doc';
try
WordApp := CreateOleObject('Word.Application');
WordApp.Visible := False;
WordApp.Documents.Open(
FileName1,EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,
EmptyParam);
Range := WordApp.Documents.Item(1).Range(
WordApp.Documents.Item(1).Paragraphs.Item(5).Range.Start,
WordApp.Documents.Item(1).Paragraphs.Item(14).Range.End);
Range.Copy; WordApp.Documents.Open(
FileName2,EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,
EmptyParam);
NumPars := WordApp.Documents.Item(1).Paragraphs.Count;
WordApp.Documents.Add;
Range := WordApp.Documents.Item(1).Range(
WordApp.Documents.Item(1).Paragraphs.Item(1).Range.Start,
WordApp.Documents.Item(1).Paragraphs.Item(1).Range.End);
for i := 1 to 2 do WordApp.Documents.Item(1).Paragraphs.Add;
Range.Paste;
WordApp.Documents.Item(1).SaveAs(
ExtractFilePath(Application.ExeName)+'Third.doc');
except
end;
Clipboard.Clear;
WordApp.Documents.Item(1).Close(wdDoNotSaveChanges);
WordApp.Quit;
ShowMessage('Proses Selesai');
end;