Home > Pemrograman > Mengcopy baris tertentu dari MS Word memakai Delphi

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;

Categories: Pemrograman
  1. April 13, 2008 at 9:00 am | #1

    nanya nech mas, cuma beda kasus
    misalnya saya punya 2 buah memo dan 1 buah button
    jadi ketika button saya klik
    misalnya isi dari memo1 baris ke 2 – 7 pindah ke momo2,
    setelah diklik lagi baris 8-15 yang pindah tanpa menghapus
    baris 2-7, gimana skripnya ya mas ???

  2. April 13, 2008 at 1:20 pm | #2

    baris dari memo1 bisa diakses dengan semisal s:=Memo1.Lines.Strings[0]; trus ditambahkan ke memo2 seperti Memo2.Lines.Add(s);

  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.